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) |