The following table shows the universal serial bus (USB) host controller driver functions.
| Programming element | Description |
|---|---|
| GetTransferError | This function returns an error value associated with a USB transfer. |
| LPABORT_PIPE_TRANSFERS | This function aborts all transfers on an open USB pipe. |
| LPABORT_TRANSFER | This function aborts an active transfer. |
| LPCLEAR_FEATURE | This function sends a CLEAR_FEATURE request to a USB device. |
| LPCLOSE_PIPE | This function closes an open pipe handle. |
| LPCLOSE_TRANSFER | This function closes a USB transfer handle. |
| LPDEVICE_NOTIFY_ROUTINE | This function receives device notifications. Client drivers register this function with the USBD to recieve device notifications. |
| LPDISABLE_DEVICE | This function disables an attached device by disabling the port on the USB hub. After the attached device is disabled, it can be optionally re-enabled by the USB host controller. |
| LPFIND_INTERFACE | This function searches for a specific interface on a USB device. |
| LPGET_DESCRIPTOR | This function sends a GET_DESCRIPTOR request to a USB device. |
| LPGET_DEVICE_INFO | This function gets a pointer to a device information structure. |
| LPGET_FRAME_LENGTH | This function gets a current USB frame length. |
| LPGET_FRAME_NUMBER | This function gets a current USB frame number. |
| LPGET_INTERFACE | This function sends a request to a USB device for information about alternate device settings. |
| LPGET_ISOCH_RESULTS | This function gets the status of an active isochronous transfer. |
| LPGET_STATUS | This function sends a GET_STATUS request to a USB device. |
| LPGET_TRANSFER_STATUS | This function gets the status of an active transfer. |
| LPGET_USBD_VERSION | This function retrieves the version number of the current USB driver interface. |
| LPIS_DEFAULT_PIPE_HALTED | This function is deprecated. It always returns FALSE. The default pipe never halts. |
| LPIS_PIPE_HALTED | This function checks if a USB pipe is in a halted state. |
| LPIS_TRANSFER_COMPLETE | This function checks whether a transfer has completed. |
| LPISSUE_BULK_TRANSFER | This function initiates a bulk transfer to a USB device on the specified endpoint. |
| LPISSUE_CONTROL_TRANSFER | This function initiates a control transfer with a USB device on the specified endpoint. |
| LPISSUE_INTERRUPT_TRANSFER | This function initiates an interrupt transfer with a USB device on the specified endpoint. |
| LPISSUE_ISOCH_TRANSFER | This function initiates an isochronous transfer with a USB device. |
| LPISSUE_VENDOR_TRANSFER | This function sends a vendor-specific control transfer to a USB device. |
| LPLOAD_GENERIC_INTERFACE_DRIVER | This function load drivers for other interfaces on a device. USB drivers call this function. |
| LPOPEN_CLIENT_REGISTRY_KEY | This function opens a registry key associated with a USB client driver. |
| LPOPEN_PIPE | This function opens a pipe for communication with a USB device. |
| LPREGISTER_CLIENT_DRIVER_ID | This function registers a unique string to identify a USB client driver. |
| LPREGISTER_CLIENT_SETTINGS | This function registers settings for loading a USB client driver. |
| LPREGISTER_NOTIFICATION_ROUTINE | This function registers a callback function for device notifications. |
| LPRELEASE_FRAME_LENGTH_CONTROL | This function releases exclusive access to USB frame-length control. |
| LPRESET_DEFAULT_PIPE | This function resets the default pipe to a USB device. |
| LPRESET_PIPE | This function resets an open USB pipe. |
| LPRESUME_DEVICE | This function resumes the attached device by resuming the port on the USB hub. |
| LPSET_DESCRIPTOR | This function sends a SET_DESCRIPTOR request to a USB device. |
| LPSET_FEATURE | This function sends a SET_FEATURE request to a USB device. |
| LPSET_FRAME_LENGTH | This function changes the USB frame length. |
| LPSET_INTERFACE | This function sends a SET_INTERFACE request to a USB device to change the device's settings. |
| LPSUSPEND_DEVICE | This function suspends an attached device by suspending the port on the USB hub. After being suspended, the device can be resumed by the LPRESUME_DEVICE function or by a global resume sent from the USB bus. |
| LPSYNC_FRAME | This function sends a SYNCH_FRAME request to a USB device. |
| LPTAKE_FRAME_LENGTH_CONTROL | This function registers for exclusive access to control the USB frame length. |
| LPTRANSFER_NOTIFY_ROUTINE | This function executes when a transfer completes. |
| LPTRANSLATE_STRING_DESCR | This function translates a USB string descriptor into a null-terminated string. |
| LPUN_REGISTER_CLIENT_DRIVER_ID | This function unregisters a client driver's unique driver identifier. |
| LPUN_REGISTER_CLIENT_SETTINGS | This function deregisters USB device driver settings. |
| LPUN_REGISTER_NOTIFICATION_ROUTINE | This function removes a device notification callback function. |
| USBDeviceAttach | This function is a USB device attach routine. USB host client drivers must implement this function. |
| USBInstallDriver | This function installs a USB client driver. USB host client drivers must implement this function. |
| USBUnInstallDriver | This function uninstalls a USB client driver. USB host client drivers must implement this function. |
Send Feedback on this topic to the authors