USBD_AssignUrbToIoStackLocation (usbdlib.h)

Rutinitas USBD_AssignUrbToIoStackLocation dipanggil oleh driver klien untuk mengaitkan URB dengan lokasi tumpukan IRP berikutnya.

Sintaks

void USBD_AssignUrbToIoStackLocation(
  [in] USBD_HANDLE        USBDHandle,
  [in] PIO_STACK_LOCATION IoStackLocation,
  [in] PURB               Urb
);

Parameter

[in] USBDHandle

Handel USBD yang diambil dalam panggilan sebelumnya ke rutinitas USBD_CreateHandle .

[in] IoStackLocation

Arahkan ke lokasi tumpukan IRP berikutnya (IO_STACK_LOCATION). Driver klien menerima pointer ke lokasi tumpukan dalam panggilan sebelumnya ke IoGetNextIrpStackLocation.

[in] Urb

Arahkan ke struktur URB yang dialokasikan oleh USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuild, atau USBD_SelectInterfaceUrbAllocateAndBuild.

Nilai kembali

Tidak ada

Keterangan

Jika driver klien mengalokasikan URB dengan memanggil USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuild, atau USBD_SelectInterfaceUrbAllocateAndBuild, maka driver harus memanggil USBD_AssignUrbToIoStackLocation untuk mengaitkan URB dengan IO_STACK_LOCATION yang terkait dengan IRP. Untuk URL yang dialokasikan oleh rutinitas tersebut, USBD_AssignUrbToIoStackLocation menggantikan pengaturan Parameters.Others.Argument1dari IO_STACK_LOCATION ke URB. (lihat IOCTL_INTERNAL_USB_SUBMIT_URB).

Driver klien tidak boleh memanggil USBD_AssignUrbToIoStackLocation untuk URB yang dialokasikan dengan menggunakan mekanisme lain, seperti mengalokasikan URB pada tumpukan. Jika tidak, tumpukan driver USB menghasilkan bugcheck.

Driver klien harus memanggil USBD_AssignUrbToIoStackLocation sebelum memanggil IoCallDriver untuk mengirim permintaan. USBD_AssignUrbToIoStackLocation mengisi lokasi tumpukan IRP berikutnya dengan URB. Rutinitas ini juga memperbarui anggota FileObjectdari IO_STACK_LOCATION.

Untuk contoh kode, lihat Cara Mengirimkan 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

Cara Mengirimkan URB

USBD_IsochUrbAllocate

USBD_SelectConfigUrbAllocateAndBuild

USBD_SelectInterfaceUrbAllocateAndBuild

USBD_UrbAllocate