IOCTL_INTERNAL_USBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (usbfnioctl.h)

类驱动程序发送此请求以获取设备上函数的整个 USB 接口描述符集。

注意 请勿使用此请求来检索为整个设备设置的接口描述符。
 

主要代码

IRP_MJ_INTERNAL_DEVICE_CONTROL

输入缓冲区

指向包含 USBFN_INTERFACE_INFO 结构的缓冲区 指针。

输入缓冲区长度

输入缓冲区的长度必须至少 sizeof(USBFN_INTERFACE_INFO)为 。

输出缓冲区

指向包含 USBFN_INTERFACE_INFO 结构的缓冲区 指针。 UFX (USB 函数类扩展) 使用包括其终结点描述符的整个接口描述符集填充结构。

输出缓冲区长度

输出缓冲区的长度必须至少 sizeof(USBFN_INTERFACE_INFO)为 。

状态块

如果请求成功,UFX) USB 函数类扩展 (将返回STATUS_SUCCESS或NT_SUCCESS (状态) 等于 TRUE 的其他状态值。 否则,它将返回一个状态值,NT_SUCCESS (状态) 等于 FALSE。

注解

必须在发送 IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS 请求后发送此请求。

整个接口描述符的长度是可变的。 类驱动程序可能需要发送此 IOCTL 请求两次才能获取整个描述符集。

如果整个描述符集的长度大于指定的输出缓冲区长度,则 UFX 会将 USBFN_INTERFACE_INFOSize 成员设置为实际缓冲区长度,并使请求失败,并STATUS_BUFFER_TOO_SMALL。 然后,驱动程序必须分配 由 Size 指定的长度的输出缓冲区,并重新发送请求。

要求

要求
Header usbfnioctl.h

另请参阅

IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS

USBFN_INTERFACE_INFO