Partilhar via


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_IsochUrbAllocate

USBD_SelectConfigUrbAllocateAndBuild

USBD_SelectInterfaceUrbAllocateAndBuild

USBD_UrbAllocate