Freigeben über


IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL (sidebandaudio.h)

Der Audiotreiber gibt den IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR-Steuerungscode aus, um Informationen zu einem Audioendpunkt abzurufen, der über die Seitenband-Audiogeräteschnittstelle verfügbar gemacht wird.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Ein 0-basierter Endpunktindexwert, der auf der Anzahl der Audioendpunkte basiert, die vom IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR gemeldet werden.

Dies ist ein ULONG-Wert von 0 bis (N-1), wobei N die Anzahl der Endpunkte für das Gerät ist.

Eingabepufferlänge

Größe von ULONG.

Ausgabepuffer

Ein Puffer, der eine SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR-Struktur enthält, gefolgt von allen anderen Daten, auf die die Struktur verweist. Dies wird zurückgegeben, wenn die Ausgabepuffergröße ausreichend ist und die Anforderung erfolgreich ist. Insbesondere enthält der Puffer Speicher für die Zeichenfolge, auf die das Feld FriendlyName der SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR-Struktur verweist.

Länge des Ausgabepuffers

Die Größe einer SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR Struktur und daten, auf die verwiesen wird.

Statusblock

Wenn die Routine erfolgreich ist, wird Status auf STATUS_SUCCESS festgelegt, und der Informationsmember ist die Anzahl der Bytes, die die Routine in den Ausgabepuffer schreibt.

Hinweis Dies kann größer als die Größe der SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR-Struktur sein, da der Ausgabepuffer andere Daten enthalten kann, auf die die Struktur verweist.

Wenn Status auf STATUS_BUFFER_TOO_SMALL festgelegt ist, sollte der Audiotreiber den Informationsmember lesen, um die Größe des Puffers abzurufen, den der Aufrufer für diese Anforderung zuweisen soll.

Hinweise

Diese IOCTL kann nur im Kernelmodus aufgerufen werden.

Der Audiotreiber sendet diese Anforderung, um Informationen zu einem aktivierten Audio-Seitenbandendpunkt abzurufen. Die Informationen ändern sich nicht, während die Schnittstelle aktiviert ist, sondern können sich ändern, wenn die Schnittstelle deaktiviert ist. Daher sendet der Audiotreiber diese Anforderung kurz nach dem Ermitteln einer aktivierten Geräteschnittstelle und verwendet die Informationen, um eine geeignete KSFILTER_DESCRIPTOR Struktur zu erstellen.

Der Audiotreiber sendet diese Anforderung einmal mit einer Ausgabepuffergröße von null (0), um die erforderliche Ausgabepuffergröße zu bestimmen. In diesem Fall schließt die Anforderung mit Status STATUS_BUFFER_TOO_SMALL ab und legt den Informationsmember auf die erforderliche Puffergröße fest. Der Audiotreiber ordnet dann den erforderlichen Speicherplatz zu und sendet die Anforderung erneut.

Anforderungen

Anforderung Wert
Header sidebandaudio.h

Weitere Informationen

SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR

Einführung in E/A-Steuerungscodes

sidebandaudio.h