IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 IOCTL (sidebandaudio.h)

Der Audiotreiber gibt den IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 Steuercode aus, um Informationen zu einem Audioendpunkt abzurufen, der über die Seitenband-Audiogeräteschnittstelle verfügbar gemacht wird. Die Version 2 dieser IOCTL ermöglicht es dem Controllertreiber, benutzerdefinierte Geräteeigenschaften bereitzustellen, die der Schnittstelle des Audiogeräts hinzugefügt werden.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Ein 0-basierter Endpunktindexwert basierend auf der Anzahl der Audioendpunkte, 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.

Länge des Eingabepuffers

Größe von ULONG.

Ausgabepuffer

Ein Puffer, der eine SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2-Struktur enthält, gefolgt von allen anderen Daten, auf die von der -Struktur verwiesen wird. 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 im Feld FriendlyName der SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2-Struktur verwiesen wird.

Länge des Ausgabepuffers

Die Größe einer SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2-Struktur und der daten, auf die verwiesen wird.

Statusblock

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

Hinweis Dies kann größer als die Größe der SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2-Struktur sein, da der Ausgabepuffer andere Daten enthalten kann, auf die von der -Struktur verwiesen wird.

Wenn Status auf STATUS_BUFFER_TOO_SMALL festgelegt ist, sollte der Audiotreiber den Information-Member lesen, um die Größe des Puffers abzurufen, den der Aufrufer für diese Anforderung zuordnen 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, können sich jedoch ändern, während 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 0 (0), um die erforderliche Ausgabepuffergröße zu bestimmen. In diesem Fall wird die Anforderung mit status STATUS_BUFFER_TOO_SMALL abgeschlossen und der Information-Member auf die erforderliche Puffergröße festgelegt. Der Audiotreiber ordnet dann den erforderlichen Speicherplatz zu und sendet die Anforderung erneut.

Anforderungen

Anforderung Wert
Header sidebandaudio.h

Weitere Informationen

SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2

Einführung in E/A-Steuerungscodes

sidebandaudio.h