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 结构的缓冲区的指针。 USB 函数类扩展(UFX)使用整个接口描述符集(包括其终结点描述符)填充结构。

输出缓冲区长度

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

状态块

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

言论

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

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

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

要求

要求 价值
标头 usbfnioctl.h

另请参阅

IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS

USBFN_INTERFACE_INFO