IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (genericusbfnioctl.h)

此 I/O 控制代码 (IOCTL) 由用户模式服务或应用程序发送,以获取设备上函数的整个通用串行总线 (USB) 接口描述符集。

注意 此 IOCTL 请求不会检索整个设备的接口描述符集。

 

输入缓冲区

指向 USBFN_INTERFACE_INFO 结构的指针。

输入缓冲区长度

USBFN_INTERFACE_INFO结构的大小。

输出缓冲区

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

输出缓冲区长度

USBFN_INTERFACE_INFO的大小。

注解

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

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

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

如果此 I/O 控制代码 (IOCTL) 同步调用,请将 lpOverlapped 参数设置为 NULL。 如果异步调用此 IOCTL,请将 lpOverlapped 参数分配给指向包含事件对象的句柄的 OVERLAPPED 结构的指针。 事件对象在操作完成时发出信号。

返回值是指示操作成功或失败的 BOOL 值。 TRUE 表示成功,否则为 FALSE。

要求

要求
Header genericusbfnioctl.h (包括 GenericUsbFnIoctl.h)

另请参阅

DeviceIoControl