Compartir a través de


función USBD_IsochUrbAllocate (usbdlib.h)

La rutina USBD_IsochUrbAllocate asigna y da formato a una estructura URB para una solicitud de transferencia isócrónica.

Nota

Para controladores de Windows Driver Framework (WDF): Si el controlador de cliente está basado en WDF, debe llamar al método WdfUsbTargetDeviceCreateIsochUrb en lugar de USBD_IsochUrbAllocate asignar memoria para la estructura URB .

Sintaxis

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

Parámetros

[in] USBDHandle

Identificador USBD recuperado por el controlador cliente en una llamada anterior a la rutina USBD_CreateHandle .

[in] NumberOfIsochPackets

Especifica el número máximo de paquetes isócronos necesarios para realizar la transferencia. El búfer de transferencia se describe en una matriz de longitud variable de USBD_ISO_PACKET_DESCRIPTOR estructuras que almacenan información sobre cada paquete, como el desplazamiento de bytes del paquete dentro del búfer. La matriz se especifica en el miembro IsoPacket de la estructura _URB_ISOCH_TRANSFER , que se usa para definir el formato de un URB de solicitud isócrono.

[out] Urb

Puntero a una estructura URB , que recibe el URB asignado por USBD_IsochUrbAllocate. Todos los miembros de la estructura URB se establecen en cero. El URB asignado es lo suficientemente grande como para contener el número máximo de paquetes isócronos indicados por NumberOfIsochPacket.

El controlador cliente debe liberar el URB cuando el controlador haya terminado de usarlo llamando a USBD_UrbFree.

Valor devuelto

La rutina USBD_IsochUrbAllocate devuelve STATUS_SUCCESS si la solicitud es correcta. De lo contrario, USBD_UrbAllocate establece UrbNULL en y devuelve un código de error de estado NT.

Entre los valores posibles se incluyen, entre otros, STATUS_INVALID_PARAMETER, que indica el autor de la llamada pasado NULL a USBDHandle o Urb.

Requisitos

Requisito Value
Cliente mínimo compatible Requiere WDK para Windows 8. Tiene como destino Windows Vista y versiones posteriores del sistema operativo Windows.
Plataforma de destino Escritorio
Encabezado usbdlib.h
Library Usbdex.lib
IRQL <=DISPATCH_LEVEL

Consulte también