Compartilhar via


estrutura HDAUDIO_CODEC_RESPONSE (hdaudio.h)

A estrutura HDAUDIO_CODEC_RESPONSE especifica uma resposta a um comando codec ou uma resposta não solicitada de um codec.

Sintaxe

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;

Membros

Unsolicited

Especifica um valor de resposta não solicitado de 32 bits que consiste em um valor de resposta de 26 bits e um valor de marca de 6 bits.

Unsolicited.Response

Especifica um valor de resposta não solicitado de 21 bits.

Unsolicited.SubTag

Especifica uma SubTag de 5 bits.

Unsolicited.Tag

Especifica um valor de marca de 6 bits para uma resposta não solicitada.

Response

Especifica um valor de resposta.

SDataIn

Especifica o endereço codec de 4 bits (linha SDI) do codec que gera a resposta.

IsUnsolicitedResponse

Especifica se a resposta não foi solicitada. Se 1, a resposta não será solicitada. Se 0, a resposta será solicitada (ou seja, uma resposta a um comando codec).

HasFifoOverrun

Especifica se ocorreu um estouro de FIFO no RIRB (buffer de anel de entrada de resposta). Se 1, ocorreu um estouro de FIFO. Se 0, um estouro de FIFO não ocorreu.

IsValid

Especifica se a resposta é válida. Se 1, a resposta será válida. Se 0, não será válido.

CompleteResponse

Especifica um resumo completo de resposta de 64 bits que consiste em uma resposta de 32 bits, endereço codec de 4 bits, três bits status e 25 bits não utilizados (definido como zero). Esse valor é usado principalmente em mensagens de depuração.

Comentários

Depois de chamar a rotina TransferCodecVerbs , os drivers de função podem usar a estrutura HDAUDIO_CODEC_RESPONSE para decodificar as respostas para seus comandos codec. Os comandos estão contidos nas estruturas de HDAUDIO_CODEC_TRANSFER que os clientes passam para essa rotina como parâmetros de chamada.

O retorno de chamada para a rotina RegisterEventCallback também usa a estrutura HDAUDIO_CODEC_RESPONSE.

A maioria dos membros dessa estrutura contém valores gerados por hardware que o motorista do barramento copia diretamente da entrada RIRB correspondente. As duas exceções são os valores dos membros IsValid e HasFifoOverrun, que o software do driver de barramento grava na estrutura para indicar o erro status da resposta. Para obter informações sobre o formato de entrada RIRB, consulte a Especificação de áudio de alta definição da Intel no site do Intel HD Audio .

Se IsValid=0, um dos seguintes ocorreu:

  • Se HasFifoOverrun=1, o FIFO rirb estourava.
  • Se HasFifoOverrun=0, o codec não respondeu.
O campo de 25 bits sem nome entre os membros UnsolicitedResponse e HasFifoOverrun é reservado para expansão futura. O controlador de barramento de áudio HD atualmente grava zeros nesse campo.

Requisitos

Requisito Valor
Cabeçalho hdaudio.h (inclua Hdaudio.h)

Confira também

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs