_URB_OS_FEATURE_DESCRIPTOR_REQUEST结构(usb.h)
USB 中心驱动程序使用 _URB_OS_FEATURE_DESCRIPTOR_REQUEST 结构从 USB 设备或 USB 设备上的接口检索Microsoft OS 功能描述符。
语法
struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST {
struct _URB_HEADER Hdr;
PVOID Reserved;
ULONG Reserved0;
ULONG TransferBufferLength;
PVOID TransferBuffer;
PMDL TransferBufferMDL;
struct _URB *UrbLink;
struct _URB_HCD_AREA hca;
UCHAR Recipient : 5;
UCHAR Reserved1 : 3;
UCHAR Reserved2;
UCHAR InterfaceNumber;
UCHAR MS_PageIndex;
USHORT MS_FeatureDescriptorIndex;
USHORT Reserved3;
};
成员
Hdr
指向指定 URB 标头信息的 _URB_HEADER 结构的指针。
Hdr.Function 必须URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR。
Hdr.Length 必须 sizeof(_URB_OS_FEATURE_DESCRIPTOR_REQUEST)
。
Reserved
Reserved0
TransferBufferLength
指定 TransferBuffer 中指定的缓冲区的长度(以字节为单位)或 TransferBufferMDL中所述。 主机控制器驱动程序返回此成员中读取的字节数。 此函数的当前实现将最大 MS OS 功能描述符大小限制为 4 千字节。
TransferBuffer
指向传输的常驻缓冲区的指针;如果 MDL 在 transferBufferMDL中提供,则为 NULL null。
TransferBufferMDL
指向描述常驻缓冲区的 MDL 的指针;如果缓冲区 在 transferBuffer中提供缓冲区,则为 NULL NULL。 必须从非分页池分配此 MDL。
UrbLink
保留。 请勿使用。
hca
Recipient
指定接收方是 USB 设备还是 USB 设备上的接口。 必须指定以下值之一:
- 0 表示 USB 设备是请求的接收方。
- 1 表示 USB 接口是请求的接收方。
- 2 指示 USB 终结点是请求的接收方。
Reserved1
Reserved2
InterfaceNumber
指示作为请求收件人的接口号,如果 收件人 成员值为 1。 如果 USB 设备是收件人,则必须设置为 0。
MS_PageIndex
必须设置为 0。 要返回的 MS OS 功能描述符的 64K 页的页面索引。 当前实现仅支持最大描述符大小 4K。
MS_FeatureDescriptorIndex
要请求的 MS OS 功能描述符的索引。
Reserved3
言论
此结构的保留成员必须被视为不透明,并保留供系统使用。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows XP 和更高版本的作系统中可用。 |
标头 | usb.h (包括 Usb.h) |