Compartilhar via


Função USBD_IsochUrbAllocate (usbdlib.h)

A rotina USBD_IsochUrbAllocate aloca e formata uma estrutura URB para uma solicitação de transferência isócrona.

Observação

Para drivers WDF (Windows Driver Framework): Se o driver cliente for baseado em WDF, você deverá chamar o método WdfUsbTargetDeviceCreateIsochUrb em vez de USBD_IsochUrbAllocate para alocar memória para a estrutura URB .

Sintaxe

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

Parâmetros

[in] USBDHandle

Identificador USBD recuperado pelo driver cliente em uma chamada anterior para a rotina de USBD_CreateHandle .

[in] NumberOfIsochPackets

Especifica o número máximo de pacotes isócronos necessários para executar a transferência. O buffer de transferência é descrito em uma matriz de comprimento variável de estruturas USBD_ISO_PACKET_DESCRIPTOR que armazena informações sobre cada pacote, como deslocamento de bytes do pacote dentro do buffer. A matriz é especificada no membro IsoPacket da estrutura _URB_ISOCH_TRANSFER , que é usada para definir o formato de uma solicitação isócrona URB.

[out] Urb

Ponteiro para uma estrutura URB , que recebe o URB alocado por USBD_IsochUrbAllocate. Todos os membros da estrutura URB são definidos como zero. O URB alocado é grande o suficiente para conter o número máximo de pacotes isócronos indicados por NumberOfIsochPacket.

O driver cliente deve liberar o URB quando o driver terminar de usá-lo chamando USBD_UrbFree.

Retornar valor

A rotina USBD_IsochUrbAllocate retornará STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, USBD_UrbAllocate define Urb como NULL e retorna um código de falha de status NT.

Os valores possíveis incluem, mas não se limitam a, STATUS_INVALID_PARAMETER, o que indica que o chamador passou NULL para USBDHandle ou Urb.

Requisitos

Requisito Valor
Cliente mínimo com suporte Requer WDK para Windows 8. Tem como destino o Windows Vista e versões posteriores do sistema operacional Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho usbdlib.h
Biblioteca Usbdex.lib
IRQL <=DISPATCH_LEVEL

Confira também