_URB_CONTROL_GET_STATUS_REQUEST構造体 (usb.h)

_URB_CONTROL_GET_STATUS_REQUEST構造体は、USB クライアント ドライバーがデバイス、インターフェイス、エンドポイント、またはその他のデバイス定義ターゲットから状態を取得するために使用されます。

構文

struct _URB_CONTROL_GET_STATUS_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved0;
  ULONG                TransferBufferLength;
  PVOID                TransferBuffer;
  PMDL                 TransferBufferMDL;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  UCHAR                Reserved1[4];
  USHORT               Index;
  USHORT               Reserved2;
};

メンバー

Hdr

URB ヘッダー情報を指定する _URB_HEADER 構造体へのポインター。 Hdr.Length は である sizeof(_URB_CONTROL_GET_STATUS_REQUEST)必要があり、 Hdr.Function は次のいずれかの値である必要があります。

  • URB_FUNCTION_GET_STATUS_FROM_DEVICE
  • URB_FUNCTION_GET_STATUS_FROM_INTERFACE
  • URB_FUNCTION_GET_STATUS_FROM_ENDPOINT
  • URB_FUNCTION_GET_STATUS_FROM_OTHER

Reserved

予約済み。 使用しないでください。

Reserved0

予約済み。 使用しないでください。

TransferBufferLength

2 である必要があります。 このメンバーは、 TransferBuffer で指定されたバッファーまたは TransferBufferMDL で説明されているバッファーの長さをバイト単位で指定します。 ホスト コントローラー ドライバーは、このメンバーのパイプに送信またはパイプから読み取られたバイト数を返します。

TransferBuffer

転送用の常駐バッファーへのポインター。MDL が TransferBufferMDL で指定されている場合は NULL です。 バス ドライバーは、ターゲットの状態を指定する 1 バイトを返します。

TransferBufferMDL

常駐バッファーを記述する MDL へのポインター。バッファーが TransferBuffer で指定されている場合は NULL です。 バス ドライバーは、ターゲットの状態を指定する 1 バイトを返します。 この MDL は、非ページ プールから割り当てる必要があります。

UrbLink

予約済み。 使用しないでください。

hca

予約済み。 使用しないでください。

Reserved1[4]

予約済み。 使用しないでください。

Index

要求がエンドポイントまたはインターフェイスに対する場合、成功した構成要求によって返されるデバイス定義インデックスを指定します。 それ以外の場合、 Index は 0 である必要があります。

Reserved2

予約済み。 使用しないでください。

注釈

ドライバーは 、UsbBuildGetStatusRequest サービス ルーチンを使用して、この URB を書式設定できます。

この構造体の予約済みメンバーは不透明として扱う必要があり、システム使用のために予約されています。

要件

要件
Header usb.h (Usb.h を含む)

こちらもご覧ください

Urb

USB 構造体

_URB_HEADER