Platforms to show: All Mac Windows Linux Cross-Platform
USB
Everything around USB including HID interfaces.
- Classes
- class HIDAPIDeviceInfoMBS
- property BusType as Integer
- property InterfaceNumber as Integer
- property ManufacturerString as String
- property NextDevice as HIDAPIDeviceInfoMBS
- property Path as String
- property ProductID as Integer
- property ProductString as String
- property ReleaseNumber as Integer
- property SerialNumber as String
- property Usage as Integer
- property UsagePage as Integer
- property VendorID as Integer
- class HIDAPIDeviceMBS
- method Close
- method Constructor
- shared method Enumerate(VendorID as Integer = 0, ProduceID as Integer = 0) as HIDAPIDeviceInfoMBS
- method GetFeatureReport(ReportID as Integer, MaxLength as Integer) as MemoryBlock
- method GetInputReport(ReportID as Integer, MaxLength as Integer) as MemoryBlock
- method GetReportDescriptor as MemoryBlock
- method IndexedString(Index as Integer, MaxLen as Integer = 1024) as String
- shared method Init as Integer
- shared method LoadError as String
- shared method LoadLibrary(File as FolderItem) as boolean
- shared method LoadLibrary(Path as string) as boolean
- shared method Open(VendorID as Integer, ProduceID as Integer, SerialNumber as String = "") as HIDAPIDeviceMBS
- shared method OpenPath(path as string) as HIDAPIDeviceMBS
- method Read(MaxLength as Integer) as MemoryBlock
- method ReadTimeOut(MaxLength as Integer, TimeoutMS as Integer) as MemoryBlock
- method SendFeatureReport(data as MemoryBlock) as Integer
- method SendFeatureReport(data as String) as Integer
- shared method Shutdown as Integer
- shared method VersionString as String
- method Write(data as MemoryBlock) as Integer
- method Write(data as String) as Integer
- property DeviceHandle as Integer
- property DeviceInfo as HIDAPIDeviceInfoMBS
- property Error as String
- property FeatureReportLength as Integer
- shared property GlobalError as String
- property Handle as Integer
- property InputReportLength as Integer
- property ManufacturerString as String
- property NonBlocking as Boolean
- property OutputReportLength as Integer
- property ProductString as String
- property SerialNumber as String
- class LibUSBConfigDescriptorMBS
- method Constructor
- method GetInterface(index as Integer) as LibUSBInterfaceMBS
- property AttributesBitmap as Integer
- property Configuration as Integer
- property ConfigurationValue as Integer
- property DescriptorType as Integer
- property extra as MemoryBlock
- property extraLength as Integer
- property InterfaceDescriptors as Variant
- property Length as Integer
- property MaxPower as Integer
- property NumInterfaces as Integer
- property TotalLength as Integer
- class LibUSBDeviceDescriptorMBS
- method Constructor
- property DescriptorType as Integer
- property DeviceClass as Integer
- property DeviceProtocol as Integer
- property DeviceReleaseNumber as Integer
- property DeviceSubClass as Integer
- property IndexManufacturer as Integer
- property IndexProduct as Integer
- property IndexSerialNumber as Integer
- property Length as Integer
- property MaxPacketSize0 as Integer
- property NumConfigurations as Integer
- property ProductID as Integer
- property USBReleaseNumber as Integer
- property VendorID as Integer
- class LibUSBDeviceMBS
- method AttachKernelDriver(interfaceNumber as Integer)
- method BulkTransfer(endpoint as Integer, data as Ptr, Length as Integer, byref ActualLength as Integer, Timeout as Integer)
- method ClaimInterface(interfaceNumber as Integer)
- method ClearHalt(endpoint as Integer)
- method Close
- method ControlTransfer(requestType as Integer, Request as Integer, Value as Integer, Index as Integer, data as Ptr, Length as Integer, Timeout as Integer) as Integer
- method DetachKernelDriver(interfaceNumber as Integer)
- shared method Devices as LibUSBDeviceMBS()
- shared method ErrorName(ErrorCode as Integer) as String
- method GetActiveConfigDescriptor as LibUSBConfigDescriptorMBS
- method GetConfigDescriptor(Index as Integer) as LibUSBConfigDescriptorMBS
- method GetConfigDescriptorByValue(Value as Integer) as LibUSBConfigDescriptorMBS
- method GetConfiguration as Integer
- method GetDescriptor(descType as Integer, descIndex as Integer, data as Ptr, Length as Integer) as Integer
- method GetDeviceDescriptor as LibUSBDeviceDescriptorMBS
- method GetMaxISOPacketSize(EndPoint as Integer) as Integer
- method GetMaxPacketSize(EndPoint as Integer) as Integer
- method GetStringDescriptor(descIndex as Integer, LangID as Integer = 0) as String
- method GetStringDescriptor(descIndex as Integer, LangID as Integer = 0, data as Ptr, Length as Integer) as Integer
- method GetStringDescriptorAscii(descIndex as Integer) as String
- method GetStringDescriptorAscii(descIndex as Integer, data as Ptr, Length as Integer) as Integer
- shared method HasCapability(Capability as UInt32) as Boolean
- shared method Initialize as Integer
- method InterruptTransfer(endpoint as Integer, data as Ptr, Length as Integer, byref ActualLength as Integer, Timeout as Integer)
- method KernelDriverActive(interfaceNumber as Integer) as Boolean
- shared method LibraryLoaded as Boolean
- shared method LibraryLoadErrorMessage as String
- shared method LibVersion as LibUSBVersionMBS
- shared method LoadLibrary(file as folderitem) as boolean
- shared method LoadLibrary(path as string) as boolean
- method Open as Boolean
- shared method OpenDevice(VID as Integer, PID as Integer) as LibUSBDeviceMBS
- method ReleaseInterface(interfaceNumber as Integer)
- method Reset
- method SetConfiguration(configuration as Integer)
- shared method SetDebug(level as integer)
- method SetInterfaceAltSetting(interfaceNumber as Integer, alternateSetting as Integer)
- shared method Shutdown
- property BusNumber as Integer
- property DeviceAddress as Integer
- property DeviceHandle as Integer
- property DeviceSpeed as Integer
- property Handle as Integer
- property IsOpen as Boolean
- property Lasterror as Integer
- class LibUSBEndpointDescriptorMBS
- method Constructor
- property AttributesBitmap as Integer
- property DescriptorType as Integer
- property EndpointAddress as Integer
- property EndpointDirection as Integer
- property extra as MemoryBlock
- property extraLength as Integer
- property Interval as Integer
- property Length as Integer
- property MaxPacketSize as Integer
- property Refresh as Integer
- property SynchAddress as Integer
- property TransferType as Integer
- class LibUSBInterfaceDescriptorMBS
- method Constructor
- method EndpointDescriptor(index as Integer) as LibUSBEndpointDescriptorMBS
- property AlternateSetting as Integer
- property DescriptorType as Integer
- property Endpoints as Variant
- property extra as MemoryBlock
- property ExtraLength as Integer
- property IndexInterface as Integer
- property InterfaceClass as Integer
- property InterfaceNumber as Integer
- property InterfaceProtocol as Integer
- property InterfaceSubClass as Integer
- property Length as Integer
- property NumEndpoints as Integer
- class LibUSBInterfaceMBS
- method Constructor
- method InterfaceDescriptor(index as Integer) as LibUSBInterfaceDescriptorMBS
- property Count as Integer
- property InterfaceDescriptors as Variant
- class LibUSBISOPacketDescriptorMBS
- method Constructor
- property ActualLength as Integer
- property Length as Integer
- property Status as Integer
- class LibUSBTransferMBS
- method Cancel as Integer
- method Constructor(ISOPackets as Integer = 0)
- method ControlTransferGetData as Ptr
- method ControlTransferGetSetup as Ptr
- method FillBulkStreamTransfer(Device as LibUSBDeviceMBS, EndPoint as Integer, StreamId as Integer, Buffer as MemoryBlock, Timeout as Integer)
- method FillBulkTransfer(Device as LibUSBDeviceMBS, EndPoint as Integer, Buffer as MemoryBlock, Timeout as Integer)
- method FillControlSetup(Buffer as MemoryBlock, RequestType as Integer, Request as Integer, Value as Integer, Index as Integer, Length as Integer)
- method FillControlTransfer(Device as LibUSBDeviceMBS, Buffer as MemoryBlock, Timeout as Integer)
- method FillInterruptTransfer(Device as LibUSBDeviceMBS, EndPoint as Integer, Buffer as MemoryBlock, Timeout as Integer)
- method FillISOTransfer(Device as LibUSBDeviceMBS, EndPoint as Integer, Buffer as MemoryBlock, NumISOPackets as Integer, Timeout as Integer)
- method ISOPacketBuffer(Index as Integer) as Ptr
- method ISOPacketDescriptor(index as Integer) as LibUSBISOPacketDescriptorMBS
- method SetISOPacketLengths(Length as UInt32)
- method Submit as Integer
- property ActualLength as Integer
- property Buffer as MemoryBlock
- property Device as LibUSBDeviceMBS
- property Endpoint as Integer
- property Flags as Integer
- property ISOPackets as Integer
- property Length as Integer
- property Status as Integer
- property Tag as Variant
- property Timeout as Integer
- property Type as Integer
- event Completed
- class LibUSBVersionMBS
- class LinuxHIDInterfaceMBS
- shared method Available as boolean
- method Close as Integer
- method DumpTreeToStderr as Integer
- method DumpTreeToStdout as Integer
- method ForceOpen(theInterface as Integer, Vendor as Integer, Product as Integer, retries as Integer) as Integer
- method GetInputReport(path() as Integer, data as memoryblock, offset as Integer, size as Integer) as Integer
- method InterruptRead(EndPoint as Integer, mem as memoryblock, size as Integer, timeout as Integer) as Integer
- method InterruptWrite(EndPoint as Integer, mem as memoryblock, size as Integer, timeout as Integer) as Integer
- shared method IsInitialised as boolean
- method IsOpen as boolean
- method Open(theInterface as Integer, Vendor as Integer, Product as Integer) as Integer
- method Reset
- shared method SetDebugLevel(level as Integer)
- shared method SetDebugOutputToStderr
- shared method SetDebugOutputToStdout
- method SetOutputReport(path() as Integer, data as memoryblock, offset as Integer, size as Integer) as Integer
- method SetOutputReport(path() as Integer, data as string) as Integer
- method WriteIdentificationToStderr as Integer
- method WriteIdentificationToStdout as Integer
- property Handle as Integer
- event MatchDevice(usbdev as LinuxUSBDeviceHandleMBS) as boolean
- class LinuxUSBBusMBS
- shared method Buses as LinuxUSBBusMBS
- shared method RescanBusses as Integer
- shared method RescanDevices as Integer
- property Devices as LinuxUSBDeviceMBS
- property DirName as String
- property Location as Integer
- property NextBus as LinuxUSBBusMBS
- property PrevBus as LinuxUSBBusMBS
- property RootDevice as LinuxUSBDeviceMBS
- class LinuxUSBDeviceDescriptionMBS
- property cdDevice as Integer
- property cdUSB as Integer
- property DescriptorType as Integer
- property DeviceClass as Integer
- property DeviceProtocol as Integer
- property DeviceSubClass as Integer
- property Manufacturer as String
- property MaxPacketSize0 as Integer
- property NumConfigurations as Integer
- property Product as Integer
- property ProductName as String
- property SerialNumber as String
- property Vendor as Integer
- class LinuxUSBDeviceHandleMBS
- property AltSetting as Integer
- property Bus as LinuxUSBBusMBS
- property Config as Integer
- property Device as LinuxUSBDeviceMBS
- property InterfaceIndex as Integer
- class LinuxUSBDeviceMBS
- method Children(index as Integer) as LinuxUSBDeviceMBS
- property Bus as LinuxUSBBusMBS
- property ChildrenCount as Integer
- property Descriptor as LinuxUSBDeviceDescriptionMBS
- property Filename as String
- property NextDevice as LinuxUSBDeviceMBS
- property PrevDevice as LinuxUSBDeviceMBS
- class MacHIDMBS
- method Close
- method Connect
- method Disconnect
- method FindFirstDevice as boolean
- method FindNextDevice as boolean
- method HIDProperties as Variant
- method InstallCallback
- method Manufacturer as string
- method Product as string
- method ProductID as Integer
- method ReadMessage(ReportID as Integer, reportType as Integer, length as Integer) as string
- method ReadMessageMemory(ReportID as Integer, reportType as Integer, length as Integer) as memoryblock
- method SendMessage(data as string)
- method SendMessage(ReportID as Integer, reportType as Integer, data as string)
- method SendMessageMemory(data as memoryblock, offset as Integer, length as Integer)
- method SendMessageMemory(ReportID as Integer, reportType as Integer, data as memoryblock, offset as Integer, length as Integer)
- method SerialNumber as string
- method VendorID as Integer
- method VersionNumber as Integer
- property IOHIDDeviceInterface122Handle as Integer
- property IOHIDObjectIteratorHandle as Integer
- property IOObjectHandle as Integer
- property Lasterror as Integer
- property OnlyOneEventPerTick as Boolean
- property TimeOut as Integer
- event DeviceRemoved(result as Integer)
- event ReceivedData(data as string, size as Integer)
- class MacUSBDeviceMBS
- method children as MacUSBDeviceMBS()
- method Constructor
- shared method root as MacUSBDeviceMBS
- property Address as Integer
- property BusPowerAvailable as Integer
- property ClassName as String
- property DeviceClass as Integer
- property DeviceMaxPacketSize as Integer
- property DeviceNumConfigs as Integer
- property DeviceProtocol as Integer
- property DeviceReleaseNumber as Integer
- property DeviceSpeed as Integer
- property DeviceSubClass as Integer
- property ExtraPowerForPorts as Integer
- property Name as String
- property NumEndpoints as Integer
- property Path as String
- property Ports as Integer
- property ProductID as Integer
- property ProductName as String
- property Properties as Dictionary
- property RequestedPower as Integer
- property SerialNumber as String
- property VendorID as Integer
- property VendorName as String
- class MacUSBMBS
- method AbortPipe(PipeRef as Integer) as boolean
- method ClearPipeStall(PipeRef as Integer) as boolean
- method Close
- method ConfigurationValue as Integer
- method Connect as boolean
- method DeviceProduct as Integer
- method DeviceReleaseNumber as Integer
- method DeviceVendor as Integer
- method InterfaceClass as Integer
- method InterfaceNumber as Integer
- method InterfaceProtocol as Integer
- method InterfaceSubClass as Integer
- method LocationID as Integer
- method NumEndpoints as Integer
- method ReadPacket(PipeRef as Integer, MaxSize as Integer = 1024) as Memoryblock
- method ReadRaw(PipeRef as Integer, MaxSize as Integer = 1024) as Memoryblock
- method ResetPipe(PipeRef as Integer) as boolean
- method WritePacket(PipeRef as Integer, Data as Memoryblock) as boolean
- method WritePacket(PipeRef as Integer, Data as string) as boolean
- method WriteRaw(PipeRef as Integer, Data as Memoryblock) as boolean
- method WriteRaw(PipeRef as Integer, Data as string) as boolean
- property completionTimeout as Integer
- property LastError as Integer
- property noDataTimeout as Integer
- property ProductID as Integer
- property VendorID as Integer
- class MacUSBNotificationMBS
- method Constructor(vendor as Integer = 0, product as Integer = 0)
- shared method GetUSBDeviceInfo(DeviceHandle as Integer, byref Vendor as string, byref Product as string, byref SerialNumber as string, byref Revision as Integer) as boolean
- shared method QueryBSDName(DeviceHandle as Integer) as string
- shared method Release(DeviceHandle as Integer)
- shared method Retain(DeviceHandle as Integer)
- property LastError as Integer
- event DeviceAdded(properties as dictionary, NewDevice as boolean, ClassName as string, DeviceName as string, DeviceHandle as Integer)
- event DeviceRemoved(properties as dictionary, NewDevice as boolean, ClassName as string, DeviceName as string, DeviceHandle as Integer)
- class WinHIDMBS
- method Close
- method Connect as boolean
- method DevicePath as string
- method Disconnect
- method FindFirstDevice as boolean
- method FindNextDevice as boolean
- method GetInputReport(data as MemoryBlock, Offset as Integer = 0, Length as Integer = 0) as boolean
- method InstallListener(PollSize as Integer) as boolean
- method Manufacturer as string
- method PollMemory as memoryblock
- method PollString as string
- method Product as string
- method ProductID as Integer
- method ReadMessage(length as Integer, timeOut as Integer = 0) as string
- method ReadMessageMemory(length as Integer, timeOut as Integer = 0) as memoryblock
- method SendMessage(data as string) as Integer
- method SendMessageMemory(data as memoryblock, Offset as Integer = 0, length as Integer = 0) as Integer
- method SerialNumber as string
- method SetOutputReport(data as MemoryBlock, Offset as Integer = 0, Length as Integer = 0) as boolean
- method VendorID as Integer
- method VersionNumber as Integer
- property FeatureReportByteLength as Integer
- property HidHandle as Integer
- property InputReportByteLength as Integer
- property Lasterror as Integer
- property LasterrorString as String
- property OutputReportByteLength as Integer
- property PnPHandle as Integer
- property ReadHandle as Integer
- property ThreadHandle as Integer
- property WriteHandle as Integer
- class WinUSBDeviceMBS
- shared method Devices as WinUSBDeviceMBS()
- property cdUSB as Integer
- property DescriptorType as Integer
- property DeviceClass as Integer
- property DeviceID as Integer
- property DeviceProtocol as Integer
- property DeviceSubClass as Integer
- property MaxEP0Size as Integer
- property Product as String
- property ProductID as Integer
- property SerialNumber as String
- property Vendor as String
- property VendorID as Integer
- class WinUSBInterfaceDescriptionMBS
- property AlternateSetting as Integer
- property DescriptorType as Integer
- property InterfaceClass as Integer
- property InterfaceIndex as Integer
- property InterfaceNumber as Integer
- property InterfaceProtocol as Integer
- property InterfaceSubClass as Integer
- property Length as Integer
- property NumEndpoints as Integer
- class WinUSBMBS
- method AbortPipe(PipeID as Integer)
- shared method Available as boolean
- method Constructor(path as string)
- method ControlTransfer(SetupPacket as WinUSBSetupPacketMBS, Buffer as MemoryBlock) as Integer
- method ControlTransfer(SetupPacket as WinUSBSetupPacketMBS, Buffer as String) as Integer
- method DeviceSpeed as Integer
- method FlushPipe(PipeID as Integer)
- method GetAssociatedInterface(index as Integer) as WinUSBMBS
- method QueryInterfaceSettings(index as Integer) as WinUSBInterfaceDescriptionMBS
- method QueryPipe(AlternateInterfaceNumber as Integer, PipeIndex as Integer) as WinUSBPipeInformationMBS
- method ReadPipeMemory(PipeID as Integer, BufferLength as Integer) as Memoryblock
- method ReadPipePacket(PipeID as Integer, MaxSize as Integer = 1024) as Memoryblock
- method ReadPipeString(PipeID as Integer, BufferLength as Integer) as string
- method ResetPipe(PipeID as Integer)
- method WritePipe(PipeID as Integer, Buffer as MemoryBlock) as Integer
- method WritePipe(PipeID as Integer, Buffer as String) as Integer
- method WritePipePacket(PipeID as Integer, Buffer as MemoryBlock) as Integer
- method WritePipePacket(PipeID as Integer, Buffer as String) as Integer
- property DeviceHandle as Integer
- property Lasterror as Integer
- property LasterrorMessage as String
- property Parent as WinUSBMBS
- property Tag as Variant
- property USBHandle as Integer
- property CurrentAlternateSetting as Integer
- property PipePolicyAllowPartialReads(PipeID as Integer) as boolean
- property PipePolicyAutoClearStall(PipeID as Integer) as boolean
- property PipePolicyAutoFlush(PipeID as Integer) as boolean
- property PipePolicyIgnoreShortPackets(PipeID as Integer) as boolean
- property PipePolicyMaximumTransferSize(PipeID as Integer) as Integer
- property PipePolicyPipeTransferTimeout(PipeID as Integer) as UInt32
- property PipePolicyRawIO(PipeID as Integer) as boolean
- property PipePolicyResetPipeOnResume(PipeID as Integer) as boolean
- property PipePolicyShortPacketTerminate(PipeID as Integer) as boolean
- class WinUSBNotificationMBS
- method Constructor
- property NotifyHandle as Integer
- property WindowHandle as Integer
- event DeviceAdded(Name as string)
- event DeviceRemoved(Name as string)
- class WinUSBPipeInformationMBS
- property Interval as Integer
- property MaximumPacketSize as Integer
- property PipeId as Integer
- property PipeType as Integer
- class WinUSBSetupPacketMBS
- property Index as Integer
- property Length as Integer
- property Request as Integer
- property RequestType as Integer
- property Value as Integer
- class HIDAPIDeviceInfoMBS
- Blog Entries
Release notes
- Version 24.1
- Added BusType property and constants to HIDAPIDeviceInfoMBS class.
- Added DeviceInfo and GetReportDescriptor functions to HIDAPIDeviceMBS class.
- Version 21.2
- Added GetInputReport and VersionString methods to HIDAPIDeviceMBS class.
- Removed WriteAsync for HIDAPIDeviceMBS class.
- Version 21.0
- Fixed events for MacUSBNotificationMBS class, broken in 20.5.
- Version 19.1
- Added HIDAPIDeviceMBS.WriteAsync method.
- Version 18.1
- Added LibUSBDeviceMBS and related classes to use LibUSB for cross platform USB functions.
The items on this page are in the following plugins: MBS USB Plugin.