Freigeben über


HDAUDIO_CODEC_RESPONSE Struktur (hdaudio.h)

Die HDAUDIO_CODEC_RESPONSE-Struktur gibt entweder eine Antwort auf einen Codec-Befehl oder eine unerwünschte Antwort von einem Codec 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;

Angehörige

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 unaufgefragten 21-Bit-Antwortwert 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-Codec-Adresse (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 eine FIFO-Überlauf im Antworteingaberingpuffer (RIRB) aufgetreten ist. Bei 1 ist ein FIFO-Überlauf aufgetreten. Wenn 0, tritt kein FIFO-Überlauf auf.

IsValid

Gibt an, ob die Antwort gültig ist. Wenn 1, ist die Antwort gültig. Wenn 0, ist sie ungültig.

CompleteResponse

Gibt eine vollständige 64-Bit-Antwortzusammenfassung an, die aus einer 32-Bit-Antwort, einer 4-Bit-Codec-Adresse, drei Statusbits und 25 nicht verwendeten Bits besteht (auf Null festgelegt). Dieser Wert wird hauptsächlich in Debugnachrichten verwendet.

Bemerkungen

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 Member dieser Struktur enthalten hardwaregenerierte Werte, die der Bustreiber direkt aus dem entsprechenden RIRB-Eintrag kopiert. Die beiden Ausnahmen sind die Werte der IsValid und HasFifoOverrun Member, die die Bustreibersoftware in die Struktur schreibt, um den Fehlerstatus der Antwort anzugeben. Informationen zum RIRB-Eintragsformat finden Sie in der Intel High Definition Audio Specification auf der Website Intel HD Audio.

Wenn IsValid=0 ist, ist eine der folgenden Aktionen aufgetreten:

  • Wenn HasFifoOverrun=1, überlaufen die RIRB FIFO.
  • Wenn HasFifoOverrun=0 reagierte, konnte der Codec nicht reagieren.
Das unbenannte 25-Bit-Feld zwischen dem UnsolicitedResponse und HasFifoOverrun Member ist für die zukünftige Erweiterung reserviert. Der HD-Audiobuscontroller schreibt derzeit Nullen in dieses Feld.

Anforderungen

Anforderung Wert
Header- hdaudio.h (einschließlich Hdaudio.h)

Siehe auch

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback-

TransferCodecVerbs