IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL (usbioctl.h)
Le pilote client envoie cette demande pour récupérer les caractéristiques de transport.
Code principal
Mémoire tampon d’entrée/sortie
Le membre AssociatedIrp.SystemBuffer est un pointeur vers une structure de USB_TRANSPORT_CHARACTERISTICS allouée par l’appelant. Lors de l’entrée, définissez Version sur USB_TRANSPORT_CHARACTERISTICS_VERSION_1. Sur la sortie , la version est réinitialisée à une version inférieure ou égale à USB_TRANSPORT_CHARACTERISTICS_VERSION_1 ; les membres restants de la structure sont remplis d’informations sur les transports.
Longueur de la mémoire tampon d’entrée/sortie
Taille de la structure USB_TRANSPORT_CHARACTERISTICS .
Bloc d’état
Irp->IoStatus.Status est défini sur STATUS_SUCCESS si la demande réussit. Sinon, état à la condition d’erreur appropriée en tant que code NTSTATUS .
Remarques
Cette requête récupère les caractéristiques de transport pour décider d’un algorithme pour la diffusion en continu. Par exemple, un pilote d’affichage peut utiliser les informations de latence et de bande passante pour décider de sa sélection de codec.
Ces informations peuvent ne pas être toujours disponibles. La pile de pilotes USB dépend du transport sous-jacent pour exposer ces valeurs. Par conséquent, le pilote client doit disposer d’un mécanisme de sauvegarde dans les cas où la demande est envoyée.
Si le pilote client souhaite connaître les dernières informations à tout moment, il doit s’inscrire à la notification lorsque les caractéristiques de transport changent, conserver une demande en attente auprès de la pile de pilotes USB et annuler l’inscription lorsque la notification n’est plus nécessaire. Le pilote peut accomplir toutes ces tâches en envoyant ces requêtes IOCTL.
- IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10, version 1709 |
Serveur minimal pris en charge | Windows Server 2016 |
En-tête | usbioctl.h |
IRQL | <=DISPATCH_LEVEL |
Voir aussi
Création de requêtes IOCTL dans les pilotes
Pilotes clients USB pour Media-Agnostic (MA-USB)
WdfIoTargetSendInternalIoctlOthersSynchronously