Freigeben über


PREGISTER_EVENT_CALLBACK Rückruffunktion (hdaudio.h)

Die RegisterEventCallback Routine registriert eine Rückrufroutine für eine unerwünschte Antwort von einem Codec oder Codec.

Der Funktionszeigertyp für eine RegisterEventCallback- Routine wird wie folgt definiert.

Syntax

PREGISTER_EVENT_CALLBACK PregisterEventCallback;

NTSTATUS PregisterEventCallback(
  [in]  PVOID _context,
  [in]  PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK Routine,
  [in]  PVOID Context,
  [out] PUCHAR Tag
)
{...}

Parameter

[in] _context

Gibt den Kontextwert aus dem Context Member der HDAUDIO_BUS_INTERFACE, HDAUDIO_BUS_INTERFACE_V2oder HDAUDIO_BUS_INTERFACE_BDL Struktur an.

[in] Routine

Funktionszeiger auf eine Rückrufroutine. Dieser Parameter muss ein gültiger, nicht NULL-Funktionszeiger vom Typ PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK sein. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[in] Context

Gibt einen Kontextwert für die Rückrufroutine an. Der Aufrufer wandelt den Kontextwert in den Typ PVOID um. Wenn ein Codec eine unerwünschte Antwort generiert, die das angegebene Tag enthält, übergibt der HD-Audiobustreiber den Kontextwert als Aufrufparameter an die Rückrufroutine.

[out] Tag

Ruft einen Tagwert ab, der die unerwünschte Antwort identifiziert. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene UCHAR-Variable, in die die Routine den Tagwert schreibt. Der Aufrufer sollte diesen Tagwert angeben, wenn der Codec oder codecs zum Generieren der unerwünschten Antwort programmiert wird. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Rückgabewert

RegisterEventCallback- gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich beim Registrieren des Ereignisses ausgeführt wird. Andernfalls gibt die Routine einen geeigneten Fehlercode zurück. Die folgende Tabelle zeigt einen möglichen Rückgabestatuscode.

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES
Gibt an, dass nicht genügend Ressourcen zum Abschließen des Vorgangs verfügbar sind.

Bemerkungen

Diese Routine registriert eine Rückrufroutine für eine unerwünschte Antwort von einem Codec. Die Routine gibt ein Tag aus, um die unerwünschte Antwort zu identifizieren. Wenn der HD-Audiobustreiber eine unerwünschte Antwort von einem Codec mit einem übereinstimmenden Tagwert erkennt, ruft die Routine die angegebene Rückrufroutine bei IRQL DISPATCH_LEVEL auf und übergibt den angegebenen Kontextwert als Aufrufparameter an die Routine.

Nach dem Aufruf von RegisterEventCallbackist der Funktionstreiber für die Programmierung des Codecs oder Codecs verantwortlich, um unerwünschte Antworten mit dem angegebenen Tag zu generieren.

Die Routine weist jeder registrierten Rückrufroutine ein eindeutiges Tag zu. Die eindeutige Zuordnung zwischen Tag und Rückrufroutine bleibt bestehen, solange die Rückrufroutine registriert bleibt. Der Funktionstreiber kann die Registrierung einer Rückrufroutine löschen, indem UnregisterEventCallback-aufgerufen wird.

Derzeit kann der Bustreiber bis zu 64 eindeutige Tags pro Codec bereitstellen.

Der Rückrufparameter ist ein Funktionszeiger auf eine Rückrufroutine im Funktionstreiber. Der Funktionszeigertyp für die Rückrufroutine wird wie folgt definiert:

typedef VOID
  (*PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK)
    (HDAUDIO_CODEC_RESPONSE, PVOID);

Der erste Aufrufparameter ist eine Struktur vom Typ HDAUDIO_CODEC_RESPONSE, die die Antwort des Codecs auf den Befehl angibt. Diese Struktur wird nach Wert übergeben. Der zweite Aufrufparameter ist der callbackContext Wert, der zuvor an RegisterEventCallbackübergeben wurde. Der HD-Audiobustreiber ruft die Rückrufroutine bei IRQL-DISPATCH_LEVEL auf.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- hdaudio.h (einschließlich Hdaudio.h)
IRQL- PASSIVE_LEVEL (Siehe Abschnitt "Hinweise")

Siehe auch

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2

HDAUDIO_CODEC_RESPONSE

UnregisterEventCallback-  

hdaudio.h