IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 IOCTL (sidebandaudio.h)

Le pilote audio émet le code de contrôle IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 pour obtenir des informations sur un point de terminaison Audio exposé via l’interface de périphérique audio en bande latérale. La version 2 de cet IOCTL permet au pilote de contrôleur de fournir des propriétés de périphérique personnalisées à ajouter à l’interface du périphérique audio.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Valeur d’index de point de terminaison basée sur 0 en fonction du nombre de points de terminaison audio signalés par le IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR.

Il s’agit d’une valeur ULONG comprise entre 0 et (N-1), où N est le nombre de points de terminaison pour l’appareil.

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

Taille de ULONG.

Mémoire tampon de sortie

Mémoire tampon contenant une structure SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 suivie de toutes les autres données référencées par la structure. Cette opération est retournée si la taille de la mémoire tampon de sortie est suffisante et que la demande réussit. En particulier, la mémoire tampon inclut le stockage de la chaîne référencée par le champ FriendlyName de la structure SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 .

Longueur de la mémoire tampon de sortie

Taille d’une structure de SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 et des données référencées.

Bloc d’état

Si la routine réussit, Status est défini sur STATUS_SUCCESS et le membre Information est le nombre d’octets que la routine écrit dans la mémoire tampon de sortie.

Note Cela peut être supérieur à la taille de la structure SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 , car la mémoire tampon de sortie peut contenir d’autres données référencées par la structure

Si Status est défini sur STATUS_BUFFER_TOO_SMALL, le pilote audio doit lire le membre Information pour obtenir la taille de la mémoire tampon que l’appelant doit allouer pour cette demande.

Remarques

Cet IOCTL ne peut être appelé qu’à partir du mode noyau.

Le pilote audio envoie cette requête pour obtenir des informations sur un point de terminaison de bande latérale audio activé. Les informations ne changent pas tant que l’interface est activée, mais peuvent changer lorsque l’interface est désactivée. Par conséquent, le pilote audio envoie cette requête peu après avoir découvert une interface de périphérique activée et utilise les informations pour créer une structure de KSFILTER_DESCRIPTOR appropriée.

Le pilote audio envoie cette requête une fois avec une taille de mémoire tampon de sortie de zéro (0) afin de déterminer la taille de mémoire tampon de sortie requise. Dans ce cas, la demande se termine avec Status STATUS_BUFFER_TOO_SMALL et définit le membre Information sur la taille de mémoire tampon requise. Le pilote audio alloue ensuite l’espace de stockage nécessaire et envoie à nouveau la requête.

Configuration requise

Condition requise Valeur
En-tête sidebandaudio.h

Voir aussi

SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2

Présentation des codes de contrôle d’E/S

sidebandaudio.h