USBD_IsochUrbAllocate (usbdlib.h)

USBD_IsochUrbAllocate rutin mengalokasikan dan memformat struktur URB untuk permintaan transfer isochronous.

Catatan

Untuk Driver Windows Driver Framework (WDF): Jika driver klien Anda berbasis WDF, Anda harus memanggil metode WdfUsbTargetDeviceCreateIsochUrb alih-alih USBD_IsochUrbAllocate mengalokasikan memori untuk struktur URB .

Sintaks

NTSTATUS USBD_IsochUrbAllocate(
  [in]  USBD_HANDLE USBDHandle,
  [in]  ULONG       NumberOfIsochPackets,
  [out] PURB        *Urb
);

Parameter

[in] USBDHandle

Handel USBD yang diambil oleh driver klien dalam panggilan sebelumnya ke rutinitas USBD_CreateHandle .

[in] NumberOfIsochPackets

Menentukan jumlah maksimum paket isochronous yang diperlukan untuk melakukan transfer. Buffer transfer dijelaskan dalam array panjang variabel USBD_ISO_PACKET_DESCRIPTOR struktur yang menyimpan informasi tentang setiap paket, seperti offset byte paket dalam buffer. Array ditentukan dalam anggota IsoPacket dari struktur _URB_ISOCH_TRANSFER , yang digunakan untuk menentukan format URB permintaan isochronous.

[out] Urb

Penunjuk ke struktur URB , yang menerima URB yang dialokasikan oleh USBD_IsochUrbAllocate. Semua anggota struktur URB diatur ke nol. URB yang dialokasikan cukup besar untuk menyimpan jumlah maksimum paket isochronous yang ditunjukkan oleh NumberOfIsochPacket.

Driver klien harus membebaskan URB ketika driver telah selesai menggunakannya dengan memanggil USBD_UrbFree.

Nilai kembali

Rutinitas USBD_IsochUrbAllocate mengembalikan STATUS_SUCCESS jika permintaan berhasil. Jika tidak, USBD_UrbAllocate mengatur Urb ke NULL dan mengembalikan kode kegagalan status NT.

Nilai yang mungkin termasuk, tetapi tidak terbatas pada, STATUS_INVALID_PARAMETER, yang menunjukkan pemanggil diteruskan NULL ke USBDHandle atau Urb.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Membutuhkan WDK untuk Windows 8. Menargetkan Windows Vista dan versi sistem operasi Windows yang lebih baru.
Target Platform Desktop
Header usbdlib.h
Pustaka Usbdex.lib
IRQL <=DISPATCH_LEVEL

Lihat juga