função USBD_AssignUrbToIoStackLocation (usbdlib.h)
A rotina de USBD_AssignUrbToIoStackLocation é chamada por um driver cliente para associar um URB ao próximo local de pilha do IRP.
Sintaxe
void USBD_AssignUrbToIoStackLocation(
[in] USBD_HANDLE USBDHandle,
[in] PIO_STACK_LOCATION IoStackLocation,
[in] PURB Urb
);
Parâmetros
[in] USBDHandle
Um identificador USBD recuperado em uma chamada anterior para a rotina de USBD_CreateHandle.
[in] IoStackLocation
Ponteiro para o próximo local da pilha do IRP (IO_STACK_LOCATION). O driver cliente recebeu um ponteiro para o local da pilha em uma chamada anterior para IoGetNextIrpStackLocation.
[in] Urb
Ponteiro para a estrutura de URB alocada por USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuildou USBD_SelectInterfaceUrbAllocateAndBuild.
Valor de retorno
Nenhum
Observações
Se o driver cliente alocou um URB chamando USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuildou USBD_SelectInterfaceUrbAllocateAndBuild, o driver deveráUSBD_AssignUrbToIoStackLocation de chamada para associar a URB ao IO_STACK_LOCATION associado ao IRP. Para URBs alocados por essas rotinas, USBD_AssignUrbToIoStackLocation substitui a configuração Parameters.Others.Argument1 de IO_STACK_LOCATION para a URB. (consulte IOCTL_INTERNAL_USB_SUBMIT_URB).
O driver cliente não deve USBD_AssignUrbToIoStackLocation de chamada para um URB alocado usando outros mecanismos, como alocar o URB na pilha. Caso contrário, a pilha de driver USB gera uma verificação de bugs.
O driver cliente deve chamar USBD_AssignUrbToIoStackLocation antes de chamar do IoCallDriver para enviar a solicitação. USBD_AssignUrbToIoStackLocation popula o próximo local de pilha do IRP com o URB. A rotina também atualiza o fileObject membro do IO_STACK_LOCATION.
Para obter um exemplo de código, consulte Como enviar umURB.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Requer WDK para Windows 8. Direciona o Windows Vista e versões posteriores do sistema operacional Windows. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | usbdlib.h |
biblioteca | Usbdex.lib |
IRQL | <=DISPATCH_LEVEL |
Consulte também
como enviar um URB
USBD_SelectConfigUrbAllocateAndBuild