(a) OPEN DEVICE SET
Obtain device information by SetupDiGetClassDevs() API
(b) LIST AVAILABLE DEVICES
Call SetupDiEnumInterfaceDevice() API with loop.
(c) GET DEVICE PATH
detailData (Device Infromation of Structurer) ->devicePath (Set member)
(d) OPENNING DEVICE THAT HAS ACQUIRED
It can be opened by CreateFile() API
The GUID of the driver is defined under GUID_CLASS_ALPHA of the included file of AORAlphaDD.h
5.2 FUNCTIONS REFERENCE
The following table describes the functions and arguments in DeviceIoControl()API that are
unique to the AR-ALPHA client driver. The structure and control code described here are
defined in the AORAlphaDD.h.
NOTE: Receiving the Isochronous data is handled by ReadFile()API.
5.2.1 ALPHA_BULKOUT
CONTROL
CODE
PROPTO-TYPE BOOL DeviceIoControl(
FUNCTION
STRUCTURE
NOTE
HANDLE
hDevice,
DWORD
dwIoControlCode,
LPVOID
pInBuffer,
DWORD
nInBufferSize
LPVOID
lpOutBuffer,
DWORD
nOutBufferSize,
LPDWORD
lpBytesReturned,
LPOVERLAPPED
lpOverlapped
);
OUTPUT TO THE END-POINT OF BULK-OUT OF AR-ALPHA
typedef struct _ALPHA_BULKOUT_PRM {
UCHAR
ucEndPoint;
ULONG
ulSize;
UCHAR
ucaData[1];
} ALPHA_BULKOUT_PRM,
Include header : AORAlphaDD.h
ALPHA_BULKOUT
// = DEVICE HANDLE
// = ALPHA_BULKOUT
// = PALPHA_BULKOUT_PRM
// = sizeof(ALPHA_BULKOUT_PRM)-1+DATA SIZE
// = NULL
// = 0
// = POINTER
// = Overlapped POINTER
// OUTPUT END^POINT
// OUTPUT DATA SIZE (BYTE)
// OUTPUT DATA POINTER
*PALPHA_BULKOUT_PRM;
54