_URB_CONTROL_FEATURE_REQUEST構造体 (usb.h)
_URB_CONTROL_FEATURE_REQUEST構造は、USB クライアント ドライバーによって、デバイス、インターフェイス、またはエンドポイントの機能を設定またはクリアするために使用されます。
構文
struct _URB_CONTROL_FEATURE_REQUEST {
struct _URB_HEADER Hdr;
PVOID Reserved;
ULONG Reserved2;
ULONG Reserved3;
PVOID Reserved4;
PMDL Reserved5;
struct _URB *UrbLink;
struct _URB_HCD_AREA hca;
USHORT Reserved0;
USHORT FeatureSelector;
USHORT Index;
USHORT Reserved1;
};
メンバー
Hdr
URB ヘッダー情報を指定する _URB_HEADER 構造体へのポインター。 Hdr.Function は、デバイス、インターフェイス、エンドポイント、またはその他の非標準コンポーネントで実行するセットまたは明確な機能操作を示します。 Hdr.Function には、次のいずれかの値が必要です。
Hdr.Length は と等しい sizeof(_URB_CONTROL_FEATURE_REQUEST)
必要があります。
Reserved
予約済み。 使用しないでください。
Reserved2
予約済み。 使用しないでください。
Reserved3
予約済み。 使用しないでください。
Reserved4
予約済み。 使用しないでください。
Reserved5
予約済み。 使用しないでください。
UrbLink
予約済み。 使用しないでください。
hca
予約済み。 使用しないでください。
Reserved0
予約済み。 使用しないでください。
FeatureSelector
クリアまたは設定する USB 定義の機能コードを指定します。 無効、設定できない、またはクリアできない機能コードを使用すると、ターゲットが停止します。 バス ドライバーは 、FeatureSelector メンバーの値をセットアップ パケットの wValue フィールドにコピーします。
Index
要求がエンドポイントまたはインターフェイスに対する場合に、正常な構成要求によって返されるデバイス定義インデックスを指定します。 それ以外の場合、 Index は 0 である必要があります。 バス ドライバーは、 Index メンバーの値をセットアップ パケットの wIndex フィールドにコピーします。
Reserved1
予約済み。 使用しないでください。
注釈
ドライバーは 、UsbBuildFeatureRequest サービス ルーチンを使用して、この URB を書式設定できます。
この構造体の予約済みメンバーは不透明として扱う必要があり、システム使用のために予約されています。
ドライバーが、IRP_MN_WAIT_WAKE要求を使用してリモート ウェイクアップ用に USB デバイスをアームすると、USB バス ドライバーによってデバイスにリモート ウェイクアップ機能が自動的に設定されます。 制御機能 URB は必要ありません。
同様に、ドライバーがパイプにURB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALLの関数型を持つ URB を発行すると、バス ドライバーはパイプのエンドポイント の停止機能を自動的にクリアします。 ドライバーは、エンドポイントの停止をクリアするために、コントロール機能 URB をパイプに送信する必要はありません。
要件
要件 | 値 |
---|---|
Header | usb.h (Usb.h を含む) |