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 |