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 |