次の方法で共有


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 形式を示すコード例については、「USB 一括エンドポイントで静的ストリームを開いたり閉じたりする方法」を参照してください。

必要条件

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

関連項目

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

_URB_OPEN_STATIC_STREAMS