Share via


IOCTL_INTERNAL_USBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (usbfnioctl.h)

Le pilote de classe envoie cette requête pour obtenir l’ensemble du descripteur d’interface USB défini pour une fonction sur l’appareil.

Note N’utilisez pas cette requête pour récupérer le descripteur d’interface défini pour l’ensemble de l’appareil.
 

Code principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Mémoire tampon d'entrée

Pointeur vers une mémoire tampon qui contient une structure USBFN_INTERFACE_INFO .

Longueur de la mémoire tampon d’entrée

La longueur de la mémoire tampon d’entrée doit être au moins sizeof(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

La longueur de la mémoire tampon de sortie doit être au moins sizeof(USBFN_INTERFACE_INFO).

Bloc d’état

Si la demande réussit, l’extension de classe de fonction USB (UFX) retourne STATUS_SUCCESS ou une autre valeur status pour laquelle NT_SUCCESS(status) est true. Sinon, il retourne une valeur status pour laquelle NT_SUCCESS(status) est FALSE.

Remarques

Cette demande doit être envoyée après l’envoi de la demande de IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS .

La longueur de l’ensemble du descripteur d’interface est variable. Le pilote de classe peut avoir besoin d’envoyer deux fois cette demande IOCTL pour obtenir l’ensemble du descripteur défini.

Si la longueur de l’ensemble du 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 demande.

Configuration requise

Condition requise Valeur
En-tête usbfnioctl.h

Voir aussi

IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS

USBFN_INTERFACE_INFO