_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 をパイプに送信する必要はありません。
必要条件
要件 | 価値 |
---|---|
ヘッダー | usb.h (Usb.h を含む) |