IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (genericusbfnioctl.h)
Ce code de contrôle d’E/S (IOCTL) est envoyé par un service ou une application en mode utilisateur pour obtenir l’intégralité du descripteur d’interface USB (Universal Serial Bus) défini pour une fonction sur l’appareil.
Mémoire tampon d'entrée
Pointeur vers une structure USBFN_INTERFACE_INFO .
Longueur de la mémoire tampon d’entrée
Taille d’une structure USBFN_INTERFACE_INFO .
Mémoire tampon de sortie
Pointeur vers une mémoire tampon qui contient une structure USBFN_INTERFACE_INFO . L’extension de classe de fonction USB (UFX) remplit la structure avec l’ensemble du descripteur d’interface, y compris ses descripteurs de point de terminaison.
Longueur de la mémoire tampon de sortie
Taille d’un USBFN_INTERFACE_INFO.
Remarques
Cette demande doit être envoyée après l’envoi de la demande de IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS .
La longueur du descripteur d’interface entier est variable. Le pilote de classe peut avoir besoin d’envoyer cette requête IOCTL deux fois pour obtenir l’ensemble du descripteur.
Si la longueur de l’ensemble du jeu de descripteur est supérieure à la longueur de mémoire tampon de sortie spécifiée, UFX définit le membre Size de USBFN_INTERFACE_INFO sur la longueur réelle de la mémoire tampon et échoue à la demande avec STATUS_BUFFER_TOO_SMALL. Le pilote doit ensuite allouer une mémoire tampon de sortie de longueur spécifiée par Size et renvoyer la requête.
Si ce code de contrôle d’E/S (IOCTL) est appelé de manière synchrone, définissez le paramètre lpOverlapped sur NULL. Si cet IOCTL est appelé de manière asynchrone, affectez le paramètre lpOverlapped à un pointeur vers une structure OVERLAPPED qui contient un handle à un objet d’événement. Les objets d’événement signalent lorsque l’opération est terminée.
La valeur de retour est une valeur BOOL qui indique la réussite ou l’échec de l’opération. TRUE indique la réussite, FALSE dans le cas contraire.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | genericusbfnioctl.h (include GenericUsbFnIoctl.h) |