9 #ifdef _WIN32  // patch for MRPT    59                 "WinUsb_GetAssociatedInterface");
    62                 "WinUsb_GetDescriptor");
    65                 "WinUsb_QueryInterfaceSettings");
    68                 "WinUsb_QueryDeviceInformation");
    71                 "WinUsb_SetCurrentAlternateSetting");
    74                 "WinUsb_GetCurrentAlternateSetting");
    79                 "WinUsb_SetPipePolicy");
    82                 "WinUsb_GetPipePolicy");
    89                 "WinUsb_ControlTransfer");
    98                 "WinUsb_SetPowerPolicy");
   101                 "WinUsb_GetPowerPolicy");
   104                 "WinUsb_GetOverlappedResult");
   120     HANDLE DeviceHandle, PWINUSB_INTERFACE_HANDLE InterfaceHandle)
   158     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AssociatedInterfaceIndex,
   159     PWINUSB_INTERFACE_HANDLE AssociatedInterfaceHandle)
   163             InterfaceHandle, AssociatedInterfaceIndex,
   164             AssociatedInterfaceHandle);
   189     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR DescriptorType, UCHAR Index,
   190     USHORT LanguageID, PUCHAR Buffer, ULONG BufferLength,
   191     PULONG LengthTransferred)
   195             InterfaceHandle, DescriptorType, Index, LanguageID, Buffer,
   196             BufferLength, LengthTransferred);
   224     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AlternateInterfaceNumber,
   225     PUSB_INTERFACE_DESCRIPTOR UsbAltInterfaceDescriptor)
   229             InterfaceHandle, AlternateInterfaceNumber,
   230             UsbAltInterfaceDescriptor);
   254     WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG InformationType,
   255     PULONG BufferLength, PVOID Buffer)
   259             InterfaceHandle, InformationType, BufferLength, Buffer);
   278     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR SettingNumber)
   282             InterfaceHandle, SettingNumber);
   298     WINUSB_INTERFACE_HANDLE InterfaceHandle, PUCHAR SettingNumber)
   302             InterfaceHandle, SettingNumber);
   344     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AlternateInterfaceNumber,
   345     UCHAR PipeIndex, PWINUSB_PIPE_INFORMATION PipeInformation)
   349             InterfaceHandle, AlternateInterfaceNumber, PipeIndex,
   467     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, ULONG PolicyType,
   468     ULONG ValueLength, PVOID Value)
   472             InterfaceHandle, PipeID, PolicyType, ValueLength, Value);
   495     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, ULONG PolicyType,
   496     PULONG ValueLength, PVOID Value)
   500             InterfaceHandle, PipeID, PolicyType, ValueLength, Value);
   528     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, PUCHAR Buffer,
   529     ULONG BufferLength, PULONG LengthTransferred, LPOVERLAPPED Overlapped)
   533             InterfaceHandle, PipeID, Buffer, BufferLength, LengthTransferred,
   560     WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, PUCHAR Buffer,
   561     ULONG BufferLength, PULONG LengthTransferred, LPOVERLAPPED Overlapped)
   565             InterfaceHandle, PipeID, Buffer, BufferLength, LengthTransferred,
   600     WINUSB_INTERFACE_HANDLE InterfaceHandle, WINUSB_SETUP_PACKET SetupPacket,
   601     PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred,
   602     LPOVERLAPPED Overlapped)
   606             InterfaceHandle, SetupPacket, Buffer, BufferLength,
   607             LengthTransferred, Overlapped);
   712     WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG PolicyType,
   713     ULONG ValueLength, PVOID Value)
   717             InterfaceHandle, PolicyType, ValueLength, Value);
   757     WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG PolicyType,
   758     PULONG ValueLength, PVOID Value)
   762             InterfaceHandle, PolicyType, ValueLength, Value);
   823     WINUSB_INTERFACE_HANDLE InterfaceHandle, LPOVERLAPPED lpOverlapped,
   824     LPDWORD lpNumberOfBytesTransferred, 
BOOL bWait)
   828             InterfaceHandle, lpOverlapped, lpNumberOfBytesTransferred, bWait);
   833 #endif  // patch for MRPT BOOL __stdcall WinUSB_ResetPipe(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID)
 
BOOL __stdcall WinUSB_GetPipePolicy(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, ULONG PolicyType, PULONG ValueLength, PVOID Value)
 
BOOL __stdcall WinUSB_GetCurrentAlternateSetting(WINUSB_INTERFACE_HANDLE InterfaceHandle, PUCHAR AltSettingNumber)
 
WinUSB_SetPipePolicy * SetPipePolicy
 
WinUSB_Free Free
Frees a WinUsb interface handle. 
 
WinUSB_AbortPipe AbortPipe
Aborts all of the pending transfers for a pipe. 
 
BOOL __stdcall WinUSB_GetAssociatedInterface(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AssociatedInterfaceIndex, WINUSB_INTERFACE_HANDLE *AssociatedInterfaceHandle)
 
WinUSB_GetPipePolicy GetPipePolicy
Gets the policy for a specific pipe (endpoint). 
 
WinUSB_GetAssociatedInterface * GetAssociatedInterface
 
BOOL __stdcall WinUSB_GetOverlappedResult(WINUSB_INTERFACE_HANDLE InterfaceHandle, LPOVERLAPPED Overlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait)
 
struct XsLibraryLoader XsLibraryLoader
 
XsLibraryLoader * m_libraryLoader
 
WinUSB_QueryPipe QueryPipe
Retrieves information about a pipe that is associated with an interface. The QueryPipe function does ...
 
WinUSB_SetCurrentAlternateSetting SetCurrentAlternateSetting
Sets the alternate setting of an interface. Sets the active bAlternateSetting for the current/default...
 
WinUSB_Initialize * Initialize
 
BOOL __stdcall WinUSB_Initialize(HANDLE DeviceHandle, WINUSB_INTERFACE_HANDLE *InterfaceHandle)
 
WinUSB_GetPowerPolicy GetPowerPolicy
Gets the power policy for a device. 
 
WinUSB_GetDescriptor * GetDescriptor
 
WinUSB_GetPowerPolicy * GetPowerPolicy
 
BOOL __stdcall WinUSB_GetDescriptor(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR DescriptorType, UCHAR Index, USHORT LanguageID, PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred)
 
WinUSB_SetCurrentAlternateSetting * SetCurrentAlternateSetting
 
BOOL __stdcall WinUSB_ReadPipe(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred, LPOVERLAPPED Overlapped)
 
BOOL __stdcall WinUSB_SetPowerPolicy(WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG PolicyType, ULONG ValueLength, PVOID Value)
 
WinUSB_ReadPipe ReadPipe
Reads data from the specified pipe. 
 
BOOL __stdcall WinUSB_FlushPipe(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID)
 
BOOL __stdcall WinUSB_ControlTransfer(WINUSB_INTERFACE_HANDLE InterfaceHandle, WINUSB_SETUP_PACKET SetupPacket, PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred, LPOVERLAPPED Overlapped)
 
BOOL __stdcall WinUSB_QueryInterfaceSettings(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AltSettingIndex, PUSB_INTERFACE_DESCRIPTOR UsbAltInterfaceDescriptor)
 
WinUSB_Initialize Initialize
Creates/opens a WinUsb interface handle from the device list. 
 
WinUSB_ResetPipe ResetPipe
Resets the data toggle and clears the stall condition on a pipe. 
 
WinUSB_AbortPipe * AbortPipe
 
WinUSB_GetCurrentAlternateSetting * GetCurrentAlternateSetting
 
BOOL __stdcall WinUSB_GetPowerPolicy(WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG PolicyType, PULONG ValueLength, PVOID Value)
 
WinUSB_GetOverlappedResult GetOverlappedResult
Retrieves the results of an overlapped operation on the specified winUSB handle. 
 
WinUSB_FlushPipe FlushPipe
Discards any data that is cached in a pipe. 
 
BOOL __stdcall WinUSB_SetCurrentAlternateSetting(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AltSettingNumber)
 
WinUSB_GetDescriptor GetDescriptor
Gets the requested descriptor. This is a synchronous operation. 
 
BOOL __stdcall WinUSB_AbortPipe(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID)
 
WinUSB_QueryPipe * QueryPipe
 
WinUSB_SetPowerPolicy SetPowerPolicy
Sets the power policy for a device. The following list summarizes the effects of changes to power man...
 
WinUSB_QueryInterfaceSettings QueryInterfaceSettings
Retrieves the interface descriptor for the specified alternate interface settings for a particular in...
 
WinUSB_ResetPipe * ResetPipe
 
WinUSB_QueryDeviceInformation QueryDeviceInformation
Retrieves information about the physical device that is associated with a WinUSB handle. 
 
WinUSB_WritePipe * WritePipe
 
WinUSB_GetAssociatedInterface GetAssociatedInterface
Retrieves a handle for an associated interface. 
 
WinUSB_SetPipePolicy SetPipePolicy
Sets the policy for a specific pipe associated with an endpoint on the device. This is a synchronous ...
 
WinUSB_ReadPipe * ReadPipe
 
WinUSB_QueryInterfaceSettings * QueryInterfaceSettings
 
BOOL __stdcall WinUSB_QueryPipe(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AltSettingNumber, UCHAR PipeIndex, PWINUSB_PIPE_INFORMATION PipeInformation)
 
WinUSB_QueryDeviceInformation * QueryDeviceInformation
 
WinUSB_FlushPipe * FlushPipe
 
BOOL __stdcall WinUSB_SetPipePolicy(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, ULONG PolicyType, ULONG ValueLength, PVOID Value)
 
WinUSB_ControlTransfer * ControlTransfer
 
WinUSB_GetPipePolicy * GetPipePolicy
 
WinUSB_SetPowerPolicy * SetPowerPolicy
 
WinUSB_WritePipe WritePipe
Writes data to a pipe. 
 
BOOL __stdcall WinUSB_Free(WINUSB_INTERFACE_HANDLE InterfaceHandle)
 
WinUSB_ControlTransfer ControlTransfer
Transmits control data over a default control endpoint. A ControlTransfer is never cached...
 
BOOL __stdcall WinUSB_QueryDeviceInformation(WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG InformationType, PULONG BufferLength, PVOID Buffer)
 
WinUSB_GetOverlappedResult * GetOverlappedResult
 
BOOL __stdcall WinUSB_WritePipe(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred, LPOVERLAPPED Overlapped)
 
WinUSB_GetCurrentAlternateSetting GetCurrentAlternateSetting
Gets the current alternate interface setting for an interface. Gets the active bAlternateSetting for ...