_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 KB。
TransferBuffer
傳送的固定緩衝區指標,如果 TransferBufferMDL 中提供 MDL,則為 NULL。
TransferBufferMDL
描述駐留緩衝區的 MDL 指標,如果 TransferBuffer 中提供緩衝區,則為 NULL。 此 MDL 必須從非分頁集區配置。
UrbLink
保留的。 請勿使用。
hca
Recipient
指定收件者是 USB 裝置或 USB 裝置上的介面。 必須指定下列其中一個值:
- 0 表示 USB 裝置是要求的收件者。
- 1 表示 USB 介面是要求的收件者。
- 2 表示 USB 端點是要求的收件者。
Reserved1
Reserved2
InterfaceNumber
如果 Recipient 成員值為 1,則表示要求收件者之收件者的介面編號。 如果USB裝置是收件者,則必須設定為0。
MS_PageIndex
必須設定為 0。 要傳回之 MS OS 功能描述元之 64K 頁面的頁面索引。 目前的實作只支援 4K 的最大描述元大小。
MS_FeatureDescriptorIndex
要要求之 MS OS 功能描述元的索引。
Reserved3
備註
這個結構的保留成員必須視為不透明,並保留供系統使用。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows XP 和更新版本的作業系統中使用。 |
標頭 | usb.h (包含 Usb.h) |