Partager via


IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL (sidebandaudio.h)

Le pilote audio émet le code de contrôle IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR pour obtenir des informations sur un point de terminaison Audio exposé via l’interface de périphérique audio à bande latérale.

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 de l’appareil.

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

Taille d’ULONG.

Mémoire tampon de sortie

Mémoire tampon contenant une structure SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 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 pour la chaîne référencée par le champ FriendlyName de la structure SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR .

Longueur de la mémoire tampon de sortie

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

Bloc d’état

Si la routine réussit, l’état est défini sur STATUS_SUCCESS et le membre Information correspond au 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_DESCRIPTOR , car la mémoire tampon de sortie peut contenir d’autres données référencées par la structure

Si l’état 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

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

Le pilote audio envoie cette demande pour obtenir des informations sur un point de terminaison de bande latérale audio activé. Les informations ne changent pas lorsque 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 de temps après la découverte d’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_DESCRIPTOR

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

sidebandaudio.h