Using the QuickUSB Library
Data Types
This document uses the following parameter data type naming convention:
BYTE
an 8-bit unsigned character
PBYTE
a pointer to a BYTE or an array of BYTEs
CHAR
an 8-bit signed character
PCHAR
a pointer to a CHAR or an array of CHARs
WORD
a 16-bit unsigned integer
PWORD a pointer to a WORD or an array of WORDs
LONG
a 32-bit signed integer
PLONG
a pointer to a LONG or an array of LONGs
ULONG
a 32-bit unsigned integer
PULONG a pointer to a ULONG or an array of ULONGs
HANDLE a
LONG
PHANDLE a pointer to a HANDLE
Blocking versus Non-blocking Data Transfers
The QuickUSB Library allows a user to make both Blocking (QuickUsbReadData
and QuickUsbWriteData) and Non-blocking (QuickUsbReadDataAsync and
QuickUsbWriteDataAsync) data transfer calls. When called, the Blocking
functions will initiate a data transfer, and will return from the function once that
data transfer has completed. A Non-blocking function, when called, will initiate a
data transfer and return to the program without waiting for the data transfer to
complete. The user can then call QuickUsbAsyncWait to get the status of the
data transfer or wait for the transfer to complete. For a user concerned with
transferring data and processing it as quickly as possible, they will want to
implement the Asynchronous Non-blocking function calls. This will allow the user
to process already transferred data while collecting more data.
40
Data Types