共用方式為


USBD_IsochUrbAllocate函式 (usbdlib.h)

USBD_IsochUrbAllocate 例程會配置和格式化非時程傳輸要求的 URB 結構。

注意

Windows Driver Framework (WDF) 驅動程式: 如果您的用戶端驅動程式是以 WDF 為基礎,您必須呼叫 WdfUsbTargetDeviceCreateIsochUrb 方法,而不是 USBD_IsochUrbAllocate 來配置 URB 結構的記憶體。

語法

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_ISOCH_TRANSFER 結構的 IsoPacket 成員中指定,用來定義不時針要求 URB 的格式。

[out] Urb

URB 結構的指標,它會接收由 USBD_IsochUrbAllocate所配置的 URB。 URB 結構的所有成員都會設定為零。 配置的 URB 夠大,足以保存 由 numberOfIsochPacket所指示的最大無時數封包數目。

用戶端驅動程序必須藉由呼叫 USBD_UrbFree來釋出 URB。

傳回值

如果要求成功,USBD_IsochUrbAllocate 例程會傳回STATUS_SUCCESS。 否則,USBD_UrbAllocate 會將urb 設定為 NULL,並傳回NT狀態失敗碼。

可能的值包括但不限於 STATUS_INVALID_PARAMETER,這表示傳入 NULLUSBDHandleUrb的呼叫端。

要求

要求 價值
最低支援的用戶端 需要適用於 Windows 8 的 WDK。 以 Windows Vista 和更新版本的 Windows作系統為目標。
目標平臺 桌面
標頭 usbdlib.h
連結庫 Usbdex.lib
IRQL <=DISPATCH_LEVEL

另請參閱