Share via


USB Function Client Driver Functions (Windows CE 5.0)

Send Feedback

The following table shows the functions that USB function client drivers implement. The UFN_FUNCTIONS structure contains a list of the function pointers.

Function Description
lpRegisterDevice This function takes the device descriptors, validates them with the PDD, and adjusts their endpoint packet sizes.

This function facilitates the configuration of the USB function controller by a function driver.

lpRegisterDevice makes multiple calls to pfnIsEndpointSupportable. Once the descriptors are validated, they are passed to pfnRegisterDevice.

This function accepts a USB device descriptor set. The data structures in this set are defined in Usbtypes.h. This set of data structures is the complete USB descriptor set that describes the requirements of the function. lpRegisterDevice parses the supplied set and determines whether each configuration can be supported by the underlying USB function controller. This function determines whether each interface combination of each configuration can be supported.

A function specifies a single configuration with a single interface. The MDD allows for the registration of a single configuration with a single interface. If the underlying USB function controller can support the requirements of the specified function, then lpRegisterDevice returns TRUE. Otherwise, lpRegisterDevice returns FALSE.

lpStart This function calls pfnStart.
lpStop This function calls pfnStop.
lpDeregisterDevice This function deregisters a device.
lpOpenPipe This function opens a pipe, and then calls pfnInitEndpoint.
lpClosePipe This function closes a pipe, and then calls pfnDeinitEndpoint.
lpIssueTransfer This function sets up a transfer on a pipe, and then calls pfnIssueTransfer.
lpGetTransferStatus This function gets the status of a transfer.
lpAbortTransfer This function aborts a transfer.
lpCloseTransfer This function aborts a transfer and closes it, if necessary.
lpStallPipe This function calls pfnStallEndpoint.
lpClearPipeStall This function calls pfnClearEndpointStall.
lpInitiateRemoteWakeup This function initiates a remote wakeup.
lpSendControlStatusHandshake This function sends a control status handshake. It is called after sending or receiving the entire control data transfer.

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.