次の方法で共有


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 状態エラー コードを返します。

使用可能な値には、USBDHandle または Urb に渡されたNULL呼び出し元を示すSTATUS_INVALID_PARAMETERが含まれますが、これらに限定されません。

要件

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

こちらもご覧ください