HDAUDIO_CODEC_RESPONSE-Struktur (hdaudio.h)
Die HDAUDIO_CODEC_RESPONSE-Struktur gibt entweder eine Antwort auf einen Codecbefehl oder eine nicht angeforderte Antwort eines Codecs an.
Syntax
typedef struct _HDAUDIO_CODEC_RESPONSE {
union {
struct {
union {
struct {
ULONG Response : 21;
ULONG SubTag : 5;
ULONG Tag : 6;
} Unsolicited;
ULONG Response;
};
ULONG SDataIn : 4;
ULONG IsUnsolicitedResponse : 1;
ULONG HasFifoOverrun : 1;
ULONG IsValid : 1;
};
ULONGLONG CompleteResponse;
};
} HDAUDIO_CODEC_RESPONSE, *PHDAUDIO_CODEC_RESPONSE;
Member
Unsolicited
Gibt einen nicht angeforderten 32-Bit-Antwortwert an, der aus einem 26-Bit-Antwortwert und einem 6-Bit-Tagwert besteht.
Unsolicited.Response
Gibt einen 21-Bit-Wert für nicht angeforderte Antworten an.
Unsolicited.SubTag
Gibt ein 5-Bit-SubTag an.
Unsolicited.Tag
Gibt einen 6-Bit-Tagwert für eine nicht angeforderte Antwort an.
Response
Gibt einen Antwortwert an.
SDataIn
Gibt die 4-Bit-Codecadresse (SDI-Zeile) des Codecs an, der die Antwort generiert.
IsUnsolicitedResponse
Gibt an, ob die Antwort nicht angefordert wird. Wenn 1, wird die Antwort nicht angefordert. Wenn 0, wird die Antwort angefordert (d.a. eine Antwort auf einen Codec-Befehl).
HasFifoOverrun
Gibt an, ob im Antworteingaberingpuffer (RIRB) ein FIFO-Überlauf aufgetreten ist. Wenn 1, ist ein FIFO-Überlauf aufgetreten. Bei 0 ist kein FIFO-Überlauf aufgetreten.
IsValid
Gibt an, ob die Antwort gültig ist. Wenn 1, ist die Antwort gültig. Wenn 0, ist es ungültig.
CompleteResponse
Gibt eine vollständige 64-Bit-Antwortzusammenfassung an, die aus einer 32-Bit-Antwort, einer 4-Bit-Codecadresse, drei status Bits und 25 nicht verwendeten Bits (auf Null festgelegt) besteht. Dieser Wert wird hauptsächlich in Debugnachrichten verwendet.
Hinweise
Nach dem Aufrufen der TransferCodecVerbs-Routine können Funktionstreiber die HDAUDIO_CODEC_RESPONSE Struktur verwenden, um die Antworten auf ihre Codecbefehle zu decodieren. Die Befehle sind in den HDAUDIO_CODEC_TRANSFER Strukturen enthalten, die Clients als Aufrufparameter an diese Routine übergeben.
Der Rückruf für die RegisterEventCallback-Routine verwendet auch die HDAUDIO_CODEC_RESPONSE-Struktur.
Die meisten Elemente dieser Struktur enthalten hardwaregenerierte Werte, die der Bustreiber direkt aus dem entsprechenden RIRB-Eintrag kopiert. Die beiden Ausnahmen sind die Werte der Elemente IsValid und HasFifoOverrun, die die Bustreibersoftware in die Struktur schreibt, um den Fehler status der Antwort anzugeben. Informationen zum RIRB-Eingabeformat finden Sie in der Intel High Definition Audio Specification auf der Intel HD Audio-Website .
Wenn IsValid=0 ist, ist eine der folgenden Aktionen aufgetreten:
- Wenn HasFifoOverrun=1 ist, ist der RIRB FIFO überlaufen.
- Wenn HasFifoOverrun=0, konnte der Codec nicht reagieren.
Anforderungen
Anforderung | Wert |
---|---|
Header | hdaudio.h (einschließlich Hdaudio.h) |