función USBD_AssignUrbToIoStackLocation (usbdlib.h)
Un controlador de cliente llama a la rutina USBD_AssignUrbToIoStackLocation para asociar un URB con la siguiente ubicación de pila del IRP.
Sintaxis
void USBD_AssignUrbToIoStackLocation(
[in] USBD_HANDLE USBDHandle,
[in] PIO_STACK_LOCATION IoStackLocation,
[in] PURB Urb
);
Parámetros
[in] USBDHandle
Identificador USBD que se recupera en una llamada anterior a la rutina USBD_CreateHandle.
[in] IoStackLocation
Puntero a la siguiente ubicación de pila del IRP (IO_STACK_LOCATION). El controlador cliente recibió un puntero a la ubicación de la pila en una llamada anterior a IoGetNextIrpStackLocation.
[in] Urb
Puntero a la estructura de URB de asignada por USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuildo USBD_SelectInterfaceUrbAllocateAndBuild.
Valor devuelto
Ninguno
Observaciones
Si el controlador cliente asignó un URB llamando a USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuild, o USBD_SelectInterfaceUrbAllocateAndBuild, el controlador debe llamar a USBD_AssignUrbToIoStackLocation para asociar el URB con IO_STACK_LOCATION asociado al IRP. En el caso de las direcciones URL asignadas por esas rutinas, USBD_AssignUrbToIoStackLocation reemplaza la configuración Parameters.Others.Argument1 de IO_STACK_LOCATION al URB. (vea IOCTL_INTERNAL_USB_SUBMIT_URB).
El controlador cliente debe no llamada USBD_AssignUrbToIoStackLocation para un URB asignado mediante otros mecanismos, como asignar el URB en la pila. De lo contrario, la pila del controlador USB genera una comprobación de errores.
El controlador cliente debe llamar a USBD_AssignUrbToIoStackLocation antes de llamar a IoCallDriver para enviar la solicitud. USBD_AssignUrbToIoStackLocation rellena la siguiente ubicación de pila del IRP con el URB. La rutina también actualiza el miembro FileObject de IO_STACK_LOCATION.
Para obtener un ejemplo de código, vea Cómo enviar unURB.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Requiere WDK para Windows 8. Tiene como destino Windows Vista y versiones posteriores del sistema operativo Windows. |
de la plataforma de destino de | Escritorio |
encabezado de | usbdlib.h |
biblioteca de | Usbdex.lib |
irQL | <=DISPATCH_LEVEL |
Consulte también
Cómo enviar un URB
USBD_SelectConfigUrbAllocateAndBuild