_URB_OS_FEATURE_DESCRIPTOR_REQUEST構造体 (usb.h)
_URB_OS_FEATURE_DESCRIPTOR_REQUEST構造体は、USB ハブ ドライバーによって使用され、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
転送の常駐バッファーへのポインター。MDL が TransferBufferMDL で指定されている場合は 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 以降のオペレーティング システムで使用できます。 |
Header | usb.h (Usb.h を含む) |