![]() The number of interfaces reported in the bNumInterfaces field of a partial configuration descriptor is less than the total number of interfaces defined for the entire USB composite device. In response, Usbccgp.sys retrieves a partial configuration descriptor that only contains interface descriptors and other descriptors that pertain to the specific function for which the client driver is loaded. A client driver, which is one of the function drivers of the composite device, cannot change the configuration but the driver can still send a select-configuration request through Usbccgp.sys.īefore sending that request, the client driver must submit a URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE request. If the USB device is a composite device, the configuration is selected by the Microsoft-provided USB Generic Parent Driver (Usbccgp.sys). You can obtain those interface descriptors by calling USBD_ParseConfigurationDescriptorEx.Ībout Function Drivers for a USB Composite Device: Obtain an interface descriptor for each interface (or its alternate setting) in the configuration. Pipes stores information about each endpoint defined in the alternate setting. ![]() The Interface member of each structure points to an USBD_INTERFACE_INFORMATION structure that contains pipe information in its Pipes member.The InterfaceDescriptor member of each structure points to the interface descriptor that contains the alternate setting.The client driver specifies alternate settings in each interface to enable, in the array of USBD_INTERFACE_LIST_ENTRY structures. Initialize the array by calling RtlZeroMemory. The number of elements in the array must be one more than the number of interfaces. ![]() This information is contained in the bNumInterfaces member of the USB_CONFIGURATION_DESCRIPTOR structure.Ĭreate an array of USBD_INTERFACE_LIST_ENTRY structures. Get the number of interfaces in the configuration. Instructions Step 1: Create an array of USBD_INTERFACE_LIST_ENTRY structures For more information, see USB Configuration Descriptors. Typically, you submit an URB of the type URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE (see _URB_CONTROL_DESCRIPTOR_REQUEST) to retrieve information about device configuration.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |