USBD_IsochUrbAllocate関数 (usbdlib.h)
USBD_IsochUrbAllocate ルーチンは、等時性転送要求に対して URB 構造体を割り当て、書式設定します。
手記
Windows Driver Framework (WDF) ドライバーの : クライアント ドライバーが WDF ベースの場合は、URB 構造体にメモリを割り当てる代わりに、USBD_IsochUrbAllocate の WdfUsbTargetDeviceCreateIsochUrb メソッドを呼び出す必要があります。
構文
NTSTATUS USBD_IsochUrbAllocate(
[in] USBD_HANDLE USBDHandle,
[in] ULONG NumberOfIsochPackets,
[out] PURB *Urb
);
パラメーター
[in] USBDHandle
USBD_CreateHandle ルーチンへの以前の呼び出しでクライアント ドライバーによって取得される USBD ハンドル。
[in] NumberOfIsochPackets
転送を実行するために必要な等時性パケットの最大数を指定します。 転送バッファーは、バッファー内のパケットのバイト オフセットなど、各パケットに関する情報を格納する USBD_ISO_PACKET_DESCRIPTOR 構造体の可変長配列で説明されています。 配列は、等時性要求 URB の形式を定義するために使用される _URB_ISOCH_TRANSFER 構造体の IsoPacket メンバーで指定されます。
[out] Urb
USBD_IsochUrbAllocateによって割り当てられた URB を受け取る、URB 構造体へのポインター。 URB 構造体のすべてのメンバーは 0 に設定されます。 割り当てられた URB は、NumberOfIsochPacket によって示される等時性パケットの最大数保持するのに十分な大きさです。
クライアント ドライバーは、ドライバーが USBD_URBFREEを呼び出して URB の使用を完了したときに URB を解放する必要があります。
戻り値
USBD_IsochUrbAllocate ルーチンは、要求が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、USBD_UrbAllocateUrb を NULL
に設定し、NT 状態エラー コードを返します。
使用可能な値には、STATUS_INVALID_PARAMETERが含まれますが、これらに限定されません。これは、呼び出し元が USBDHandle またはUrbに NULL
渡されたことを示します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 用 WDK が必要です。 Windows Vista 以降のバージョンの Windows オペレーティング システムを対象としています。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | usbdlib.h |
ライブラリ | Usbdex.lib |
IRQL | <=DISPATCH_LEVEL |