Partager via


IOCTL_USB_USER_REQUEST IOCTL (usbuser.h)

La demande de contrôle d’E /S IOCTL_USB_USER_REQUEST est disponible pour les applications en mode utilisateur et les pilotes en mode noyau.

IOCTL_USB_USER_REQUEST est une demande de contrôle d’E/S en mode utilisateur. Cette requête cible le contrôleur hôte USB (GUID_DEVINTERFACE_USB_HOST_CONTROLLER).

Les appelants peuvent spécifier l’un des codes de requête suivants :

USBUSER_CLEAR_ROOTPORT_FEATURE
N’utilisez pas cette demande.
USBUSER_GET_CONTROLLER_DRIVER_KEY
Signale la clé de pilote du contrôleur hôte dans une chaîne Unicode de type USB_UNICODE_NAME. Cette demande est toujours activée.
USBUSER_GET_CONTROLLER_INFO_0
Récupère une structure USB_CONTROLLER_INFO_0 qui décrit le contrôleur hôte. Cette demande est toujours activée.
USBUSER_GET_ROOTPORT_STATUS
N’utilisez pas cette demande.
USBUSER_GET_ROOTHUB_SYMBOLIC_NAME
Signale le nom symbolique du hub racine dans une chaîne Unicode de type USB_UNICODE_NAME. Cette demande est toujours activée.
USBUSER_INVALID_REQUEST
N’utilisez pas cette demande.
USBUSER_OP_CLOSE_RAW_DEVICE
N’utilisez pas cette demande.
USBUSER_OP_OPEN_RAW_DEVICE
N’utilisez pas cette demande.
USBUSER_OP_MASK_DEVONLY_API
N’utilisez pas cette demande.
USBUSER_OP_MASK_HCTEST_API
N’utilisez pas cette demande.
USBUSER_OP_RAW_RESET_PORT
N’utilisez pas cette demande.
USBUSER_OP_SEND_ONE_PACKET
N’utilisez pas cette demande.
USBUSER_OP_SEND_RAW_COMMAND
N’utilisez pas cette demande.
USBUSER_SET_ROOTPORT_FEATURE
N’utilisez pas cette demande.
USBUSER_PASS_THRU
Envoie une commande spécifique au fournisseur définie par la structure USB_PASS_THRU_PARAMETERS au pilote miniport du contrôleur hôte. Cette demande est toujours activée.
USBUSER_GET_BANDWIDTH_INFORMATION
Récupère une structure USB_BANDWIDTH_INFO qui contient des informations sur la bande passante allouée. Cette demande est toujours activée.
USBUSER_GET_POWER_STATE_MAP
Récupère une structure USB_POWER_INFO qui contient des informations sur l’état d’alimentation du contrôleur hôte et des hubs racines. Cette demande est toujours activée.
USBUSER_GET_BUS_STATISTICS_0
Récupère une structure USB_BUS_STATISTICS_0 qui contient des statistiques de bus. Cette demande est toujours activée.
USBUSER_GET_BUS_STATISTICS_0_AND_RESET
N’utilisez pas cette demande.
USBUSER_GET_USB_DRIVER_INFORMATION
Récupère une structure USB_DRIVER_VERSION_PARAMETERS qui indique la version du pilote, de la pile USB et des interfaces associées. Cette demande est toujours activée.
USBUSER_GET_USB2_HW_VERSION
N’utilisez pas cette demande.

Mémoire tampon d'entrée

La mémoire tampon dans Irp-AssociatedIrp.SystemBuffer> contient une structure d’en-tête de requête utilisateur (USBUSER_REQUEST_HEADER) qui définit la requête. Suivant la structure d’en-tête se trouve une structure qui contient les paramètres de la demande. Pour plus d’informations sur les structures de paramètres qui correspondent à chaque requête, consultez la description de chaque requête.

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

Taille d’une structure USBUSER_REQUEST_HEADER .

Mémoire tampon de sortie

Une structure de paramètre suit immédiatement la structure USBUSER_REQUEST_HEADER sur Irp-AssociatedIrp.SystemBuffer>. Pour certaines demandes utilisateur, la structure de paramètres contient des données de sortie une fois la demande terminée.

Longueur de la mémoire tampon de sortie

Longueur de la structure de paramètre.

Configuration requise

Condition requise Valeur
En-tête usbuser.h (include Usbuser.h)

Voir aussi

USBUSER_REQUEST_HEADER

USB_BANDWIDTH_INFO

USB_CONTROLLER_INFO_0

USB_DRIVER_VERSION_PARAMETERS

USB_PASS_THRU_PARAMETERS

USB_POWER_INFO

USB_UNICODE_NAME