_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 を含む)

こちらもご覧ください

Urb

USB 構造体

_URB_HEADER