ieusb_io.h File Reference

#include <wtypes.h>

Go to the source code of this file.

Defines

#define IEUSB_LIB_ALL_MODES   ( (IEUSB_LIB_MODE)(IO_WIN | IO_ICA | IO_RDP) )

Typedefs

typedef void * IEUSB_HANDLE
typedef void * IEUSB_LIB_HANDLE

Enumerations

enum  IEUSB_LIB_MODE { IO_WIN = 1, IO_ICA = 2, IO_RDP = 4 }

Functions

IEUSB_LIB_HANDLE IEUS_InitializeLibraryContext (IEUSB_LIB_MODE modes)
IEUSB_LIB_MODE IEUS_GetIoMode (IEUSB_LIB_HANDLE hLibContext)
void IEUS_ReleaseLibraryContext (IEUSB_LIB_HANDLE hLibContext)
ULONG IEUS_GetNumDevices (IEUSB_LIB_HANDLE hLibContext, USHORT DEVICEPID, USHORT DEVICEVID, USHORT CAPSUsagePageValue, int fExclusiveOpen, int *iNumEndpoints)
IEUSB_HANDLE IEUS_OpenDevice (IEUSB_LIB_HANDLE hLibContext, ULONG iDeviceNum, USHORT DEVICEPID, USHORT DEVICEVID, USHORT CAPSUsagePageValue, int fExclusiveOpen)
void IEUS_CloseDevice (IEUSB_HANDLE hDevice)
BOOLEAN IEUS_GetFWRevision (IEUSB_HANDLE hDevice, USHORT *p_bcdVersion)
BOOLEAN IEUS_GetVidPid (IEUSB_HANDLE hDevice, USHORT *pVID, USHORT *pPID)
BOOLEAN IEUS_HidGetIndexedString (IEUSB_HANDLE hDevice, ULONG StringIndex, PVOID Buffer, ULONG BufferLength)
BOOLEAN IEUS_HidGetFeature (IEUSB_HANDLE hDevice, PVOID ReportBuffer, ULONG ReportBufferLength)
BOOLEAN IEUS_HidSetFeature (IEUSB_HANDLE hDevice, PVOID ReportBuffer, ULONG ReportBufferLength)
BOOLEAN IEUS_ReadFile (IEUSB_HANDLE hDevice, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped)
DWORD IEUS_GetTimeoutValue (IEUSB_HANDLE hDevice)
BOOLEAN IEUS_GetOverlappedResult (IEUSB_HANDLE hDevice, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait)
BOOLEAN IEUS_CancelIo (IEUSB_HANDLE hDevice)
HANDLE IEUS_GETHANDLE (IEUSB_HANDLE hDevice)
BOOLEAN IEUS_GetDataReportSize (IEUSB_HANDLE hDevice, ULONG *pInputReportlength, ULONG *pFeatureReportLength=NULL, ULONG *pOutputReportLength=NULL)


Define Documentation

#define IEUSB_LIB_ALL_MODES   ( (IEUSB_LIB_MODE)(IO_WIN | IO_ICA | IO_RDP) )
 

Definition at line 36 of file ieusb_io.h.


Typedef Documentation

typedef void* IEUSB_HANDLE
 

Definition at line 25 of file ieusb_io.h.

typedef void* IEUSB_LIB_HANDLE
 

Definition at line 27 of file ieusb_io.h.


Enumeration Type Documentation

enum IEUSB_LIB_MODE
 

Enumerator:
IO_WIN 
IO_ICA 
IO_RDP 

Definition at line 30 of file ieusb_io.h.

00030              {
00031     IO_WIN    = 1,
00032     IO_ICA    = 2,
00033     IO_RDP    = 4
00034 } IEUSB_LIB_MODE;


Function Documentation

BOOLEAN IEUS_CancelIo IEUSB_HANDLE  hDevice  ) 
 

Cancels all pending input and output (I/O) operations

void IEUS_CloseDevice IEUSB_HANDLE  hDevice  ) 
 

Closes the referenced device

BOOLEAN IEUS_GetDataReportSize IEUSB_HANDLE  hDevice,
ULONG *  pInputReportlength,
ULONG *  pFeatureReportLength = NULL,
ULONG *  pOutputReportLength = NULL
 

BOOLEAN IEUS_GetFWRevision IEUSB_HANDLE  hDevice,
USHORT *  p_bcdVersion
 

Fills in the user-specified buffer with the bcdRevision of the FW on an already opened device.

Returns:
TRUE if successful

HANDLE IEUS_GETHANDLE IEUSB_HANDLE  hDevice  ) 
 

Returns the native underlying handle of the device or NULL if it doesn't exist / cannot be translated.

IEUSB_LIB_MODE IEUS_GetIoMode IEUSB_LIB_HANDLE  hLibContext  ) 
 

ULONG IEUS_GetNumDevices IEUSB_LIB_HANDLE  hLibContext,
USHORT  DEVICEPID,
USHORT  DEVICEVID,
USHORT  CAPSUsagePageValue,
int  fExclusiveOpen,
int *  iNumEndpoints
 

Returns the # of devices matching the specified vid, pid and usage page

BOOLEAN IEUS_GetOverlappedResult IEUSB_HANDLE  hDevice,
LPOVERLAPPED  lpOverlapped,
LPDWORD  lpNumberOfBytesTransferred,
BOOL  bWait
 

Follows the MSFT defined GetOverlappedResult function.

Note that for OS's that do not support this function (winCE) it is implemented in such a way that it always indicates success.

DWORD IEUS_GetTimeoutValue IEUSB_HANDLE  hDevice  ) 
 

Get the timeout value from module. Typically for windows is INFINITE, RDP/ICA is 250.

BOOLEAN IEUS_GetVidPid IEUSB_HANDLE  hDevice,
USHORT *  pVID,
USHORT *  pPID
 

Fills in the user-specified buffers with the vid/pid of the device.

Returns:
TRUE if successful

BOOLEAN IEUS_HidGetFeature IEUSB_HANDLE  hDevice,
PVOID  ReportBuffer,
ULONG  ReportBufferLength
 

Gets a feature from the device

BOOLEAN IEUS_HidGetIndexedString IEUSB_HANDLE  hDevice,
ULONG  StringIndex,
PVOID  Buffer,
ULONG  BufferLength
 

Returns the requested string from the current device.

BOOLEAN IEUS_HidSetFeature IEUSB_HANDLE  hDevice,
PVOID  ReportBuffer,
ULONG  ReportBufferLength
 

Sets a feature on the device

IEUSB_LIB_HANDLE IEUS_InitializeLibraryContext IEUSB_LIB_MODE  modes  ) 
 

Called once before using any other library functions. If no specified modes are available, returns NULL.

IEUSB_HANDLE IEUS_OpenDevice IEUSB_LIB_HANDLE  hLibContext,
ULONG  iDeviceNum,
USHORT  DEVICEPID,
USHORT  DEVICEVID,
USHORT  CAPSUsagePageValue,
int  fExclusiveOpen
 

Attempts to open the specified device matching the specified vid, pid and usage page.

Returns:
NULL on error, else a valid handle.

BOOLEAN IEUS_ReadFile IEUSB_HANDLE  hDevice,
LPVOID  lpBuffer,
DWORD  nNumberOfBytesToRead,
LPDWORD  lpNumberOfBytesRead,
LPOVERLAPPED  lpOverlapped
 

Reads data from the device. Typically these are input reports.

Input parameters follow the MSFT API ReadFile.

void IEUS_ReleaseLibraryContext IEUSB_LIB_HANDLE  hLibContext  ) 
 

Called when all usage of the library is complete


Generated on Tue Nov 21 11:11:28 2006 for ePadAPIs by  doxygen 1.4.6-NO