USBD_AssignUrbToIoStackLocation, fonction (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
Un handle USBD récupéré lors d’un appel précédent à la routine USBD_CreateHandle .
[in] IoStackLocation
Pointeur vers l’emplacement de pile suivant de l’IRP (IO_STACK_LOCATION). Le pilote client a reçu un pointeur vers l’emplacement de la pile lors d’un appel précédent à IoGetNextIrpStackLocation.
[in] Urb
Pointeur vers la structure URB allouée par USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuild ou USBD_SelectInterfaceUrbAllocateAndBuild.
Valeur de retour
None
Remarques
Si le pilote client a alloué un URB en appelant USBD_UrbAllocate, USBD_IsochUrbAllocate, USBD_SelectConfigUrbAllocateAndBuild ou USBD_SelectInterfaceUrbAllocateAndBuild, le pilote doit appeler USBD_AssignUrbToIoStackLocation pour associer l’URB à IO_STACK_LOCATION associée à l’IRP. Pour les URB alloués par ces routines, USBD_AssignUrbToIoStackLocation remplace la définition de Parameters.Others.Argument1 de IO_STACK_LOCATION à l’URB. (voir IOCTL_INTERNAL_USB_SUBMIT_URB).
Le pilote client ne doit pas appeler 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 d’erreur.
Le pilote client doit appeler USBD_AssignUrbToIoStackLocation avant d’appeler IoCallDriver pour envoyer la demande. USBD_AssignUrbToIoStackLocation renseigne l’emplacement de pile suivant 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 Guide pratique pour soumettre un URB.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal 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 | Desktop (Expérience utilisateur) |
En-tête | usbdlib.h |
Bibliothèque | Usbdex.lib |
IRQL | <=DISPATCH_LEVEL |
Voir aussi
Guide pratique pour envoyer un URB
USBD_SelectConfigUrbAllocateAndBuild
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour