fonction USBD_AssignUrbToIoStackLocation (usbdlib.h)
La routine USBD_AssignUrbToIoStackLocation est appelée par un pilote client pour associer un URB à l’emplacement de pile suivant de l’IRP.
Syntaxe
void USBD_AssignUrbToIoStackLocation(
[in] USBD_HANDLE USBDHandle,
[in] PIO_STACK_LOCATION IoStackLocation,
[in] PURB Urb
);
Paramètres
[in] USBDHandle
Handle USBD récupéré dans un appel précédent à la routine USBD_CreateHandle.
[in] IoStackLocation
Pointeur vers l’emplacement suivant de la pile IRP (IO_STACK_LOCATION). Le pilote client a reçu un pointeur vers l’emplacement de la pile dans un appel précédent vers IoGetNextIrpStackLocation.
[in] Urb
Pointeur vers la structure URB allouée par USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuildou USBD_SelectInterfaceUrbAllocateAndBuild.
Valeur de retour
Aucun
Remarques
Si le pilote client a alloué une URB en appelant USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuildou USBD_SelectInterfaceUrbAllocateAndBuild, le pilote doit appeler USBD_AssignUrbToIoStackLocation pour associer l’URB à IO_STACK_LOCATION associée à l’IRP. Pour les URB allouées par ces routines, USBD_AssignUrbToIoStackLocation remplace le paramètre Parameters.Others.Argument1 de IO_STACK_LOCATION à l’URB. (voir IOCTL_INTERNAL_USB_SUBMIT_URB).
Le pilote client doit pas'appel USBD_AssignUrbToIoStackLocation pour un URB alloué à l’aide d’autres mécanismes, tels que l’allocation de l’URB sur la pile. Sinon, la pile de pilotes USB génère une vérification de bogue.
Le pilote client doit appeler USBD_AssignUrbToIoStackLocation avant d’appeler IoCallDriver pour envoyer la requête. USBD_AssignUrbToIoStackLocation renseigne l’emplacement de la pile suivante de l’IRP avec l’URB. La routine met également à jour le membre fileObject de IO_STACK_LOCATION.
Pour obtenir un exemple de code, consultez Comment envoyer unURB .
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Nécessite WDK pour Windows 8. Cible Windows Vista et les versions ultérieures du système d’exploitation Windows. |
plateforme cible | Bureau |
d’en-tête | usbdlib.h |
bibliothèque | Usbdex.lib |
IRQL | <=DISPATCH_LEVEL |
Voir aussi
USBD_SelectConfigUrbAllocateAndBuild