IOCTL_INTERNAL_USB_GET_HUB_NAME IOCTL (usbioctl.h)
La requête d’E/S IOCTL_INTERNAL_USB_GET_HUB_NAME est utilisée par les pilotes pour récupérer le nom symbolique UNICODE de l’PDO cible si l’objet PDO est destiné à un hub. Sinon, une chaîne NULL est retournée.
Les pilotes peuvent utiliser le nom symbolique pour récupérer des informations supplémentaires sur le hub via des demandes de contrôle d’E/S en mode utilisateur et des appels WMI.
IOCTL_INTERNAL_USB_GET_HUB_NAME est une demande de contrôle d’E/S en mode noyau. Cette requête cible le PDO du hub USB. Cette demande doit être envoyée à un irQL de PASSIVE_LEVEL.
Code principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Mémoire tampon d’entrée
Irp->AssociatedIrp.SystemBuffer pointe vers une structure de USB_HUB_NAME.
Longueur de la mémoire tampon d’entrée
Parameters.DeviceIoControl.OutputBufferLength est la longueur de la mémoire tampon (en octets) passée dans le champ Irp->AssociatedIrp.SystemBuffer.
Mémoire tampon de sortie
Irp->AssociatedIrp.SystemBuffer est rempli avec le nom symbolique du hub racine.
Longueur de la mémoire tampon de sortie
Longueur du nom symbolique du hub racine.
Bloc d’état
Un pilote de niveau inférieur définit Irp->IoStatus.Status sur STATUS_SUCCESS ou l’état d’erreur approprié. Il définit Irp->IoStatus.Information le nombre d’octets requis pour contenir la structure USB_ROOT_HUB_NAME. Si la requête échoue, le pilote peut utiliser ces informations pour soumettre à nouveau la requête avec une mémoire tampon suffisamment importante.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | usbioctl.h (include Usbioctl.h) |