UsbBuildOpenStaticStreamsRequest 関数 (usbdlib.h)

UsbBuildOpenStaticStreamsRequest インライン関数は、オープン ストリーム要求の URB 構造を書式設定します。 要求は、指定された一括エンドポイントに関連付けられているストリームを開きます。

構文

void UsbBuildOpenStaticStreamsRequest(
  [in, out] PURB                     Urb,
  [in]      USBD_PIPE_HANDLE         PipeHandle,
  [in]      USHORT                   NumberOfStreams,
  [in]      PUSBD_STREAM_INFORMATION StreamInfoArray
);

パラメーター

[in, out] Urb

オープン ストリーム要求 (URB_FUNCTION_OPEN_STATIC_STREAMS) 用に書式設定される URB 構造体へのポインター。 呼び出し元は、この URB に非ページ プールを割り当てる必要があります。

[in] PipeHandle

開くストリームを含むエンドポイントに関連付けられているパイプの不透明なハンドル。

クライアント ドライバーは、以前の選択構成要求 (URB_FUNCTION_SELECT_CONFIGURATION) または select-interface 要求 (URB_FUNCTION_SELECT_INTERFACE) から PipeHandle を取得します。

[in] NumberOfStreams

開くストリームの数。 NumberOfStreams 値は、Streams によって指される配列内の要素の数を示します。 この値は、0 より大きく、ホスト コントローラー ハードウェアでサポートされているストリームの最大数以下である必要があります。 サポートされているストリームの最大数を取得するには、 USBD_QueryUsbCapabilityを呼び出します。

また、ストリーム数は、USB デバイスでサポートされているストリームの最大数以下である必要があります。 その番号を取得するには、エンドポイントコンパニオン記述子を調べます。

NumberOfStreams 値で、ホスト コントローラーと USB デバイスでサポートされる 2 つの値の小さい方を指定します。

[in] StreamInfoArray

呼び出し元によって割り当てられた、 USBD_STREAM_INFORMATION 構造体の初期化された配列へのポインター。 配列の長さは、開くストリームの数によって異なり、 NumberOfStreams 値と同じである必要があります。

戻り値

なし

解説

オープン ストリーム要求に必要な URB 形式を示すコード例については、「 HOW to Open and Close Static Streams in a USB Bulk Endpoint」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 8には WDK が必要です。 Windows Vista 以降のバージョンの Windows オペレーティング システムを対象としています。
対象プラットフォーム デスクトップ
Header usbdlib.h

こちらもご覧ください

USB 一括エンドポイントで静的ストリームを開いたり閉じる方法

_URB_OPEN_STATIC_STREAMS