Condividi tramite


HDAUDIO_CODEC_RESPONSE struttura (hdaudio.h)

La struttura HDAUDIO_CODEC_RESPONSE specifica una risposta a un comando codec o una risposta non richiesta da un codec.

Sintassi

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;

Members

Unsolicited

Specifica un valore di risposta non richiesto a 32 bit costituito da un valore di risposta a 26 bit e da un valore di tag a 6 bit.

Unsolicited.Response

Specifica un valore di risposta non richiesto a 21 bit.

Unsolicited.SubTag

Specifica un SubTag a 5 bit.

Unsolicited.Tag

Specifica un valore di tag a 6 bit per una risposta non richiesta.

Response

Specifica un valore di risposta.

SDataIn

Specifica l'indirizzo codec a 4 bit (riga SDI) del codec che genera la risposta.

IsUnsolicitedResponse

Specifica se la risposta non è richiesta. Se 1, la risposta non viene richiesta. Se 0, la risposta viene richiesta (ovvero una risposta a un comando codec).

HasFifoOverrun

Specifica se si è verificato un overrun FIFO nel buffer dell'anello di input della risposta (RIRB). Se 1 si è verificato un overrun FIFO. Se 0, non si è verificato un overrun fiFO.

IsValid

Specifica se la risposta è valida. Se 1, la risposta è valida. Se 0, non è valido.

CompleteResponse

Specifica un riepilogo completo della risposta a 64 bit costituito da una risposta a 32 bit, un indirizzo codec a 4 bit, tre bit di stato e 25 bit inutilizzati (impostato su zero). Questo valore viene usato principalmente nei messaggi di debug.

Commenti

Dopo aver chiamato la routine TransferCodecVerbs , i driver di funzione possono usare la struttura HDAUDIO_CODEC_RESPONSE per decodificare le risposte ai comandi codec. I comandi sono contenuti nelle strutture HDAUDIO_CODEC_TRANSFER che i client passano a questa routine come parametri di chiamata.

Il callback per la routine RegisterEventCallback usa anche la struttura di HDAUDIO_CODEC_RESPONSE.

La maggior parte dei membri di questa struttura contiene valori generati dall'hardware che il driver del bus copia direttamente dalla voce RIRB corrispondente. Le due eccezioni sono i valori dei membri IsValid e HasFifoOverrun , che il software del driver del bus scrive nella struttura per indicare lo stato di errore della risposta. Per informazioni sul formato di voce RIRB, vedere la specifica audio Intel High Definition nel sito Web Intel HD Audio .

Se IsValid=0 si è verificato uno dei seguenti elementi:

  • Se HasFifoOverrun=1, il fifo RIRB ha eseguito il overflow.
  • Se HasFifoOverrun=0, il codec non è riuscito a rispondere.
Il campo a 25 bit senza nome tra i membri UnsolicitedResponse e HasFifoOverrun è riservato per l'espansione futura. Il controller del bus audio HD scrive attualmente zero in questo campo.

Requisiti

Requisito Valore
Intestazione hdaudio.h (includere Hdaudio.h)

Vedi anche

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs