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_INFO 的 Size 成员设置为实际缓冲区长度,并使请求失败,并STATUS_BUFFER_TOO_SMALL。 然后,驱动程序必须分配 由 Size 指定的长度的输出缓冲区,并重新发送请求。
要求
要求 | 值 |
---|---|
Header | usbfnioctl.h |