Share via


estructura HDAUDIO_CODEC_RESPONSE (hdaudio.h)

La estructura HDAUDIO_CODEC_RESPONSE especifica una respuesta a un comando de códec o una respuesta no solicitada de un códec.

Sintaxis

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;

Miembros

Unsolicited

Especifica un valor de respuesta no solicitado de 32 bits que consta de un valor de respuesta de 26 bits y un valor de etiqueta de 6 bits.

Unsolicited.Response

Especifica un valor de respuesta no solicitado de 21 bits.

Unsolicited.SubTag

Especifica una SubTag de 5 bits.

Unsolicited.Tag

Especifica un valor de etiqueta de 6 bits para una respuesta no solicitada.

Response

Especifica un valor de respuesta.

SDataIn

Especifica la dirección de códec de 4 bits (línea SDI) del códec que genera la respuesta.

IsUnsolicitedResponse

Especifica si la respuesta no está solicitada. Si es 1, la respuesta no está solicitada. Si es 0, se solicita la respuesta (es decir, una respuesta a un comando de códec).

HasFifoOverrun

Especifica si se ha producido una saturación de FIFO en el búfer de anillo de entrada de respuesta (RIRB). Si es 1, se produjo una saturación de FIFO. Si es 0, no se produjo una saturación de FIFO.

IsValid

Especifica si la respuesta es válida. Si es 1, la respuesta es válida. Si es 0, no es válido.

CompleteResponse

Especifica un resumen completo de respuesta de 64 bits que consta de una respuesta de 32 bits, una dirección de códec de 4 bits, tres bits de estado y 25 bits sin usar (establecido en cero). Este valor se usa principalmente en los mensajes de depuración.

Comentarios

Después de llamar a la rutina TransferCodecVerbs , los controladores de función pueden usar la estructura HDAUDIO_CODEC_RESPONSE para descodificar las respuestas a sus comandos de códec. Los comandos se encuentran en las estructuras de HDAUDIO_CODEC_TRANSFER que los clientes pasan a esta rutina como parámetros de llamada.

La devolución de llamada de la rutina RegisterEventCallback también usa la estructura HDAUDIO_CODEC_RESPONSE.

La mayoría de los miembros de esta estructura contienen valores generados por hardware que el controlador de bus copia directamente desde la entrada RIRB correspondiente. Las dos excepciones son los valores de los miembros IsValid y HasFifoOverrun , que el software del controlador de bus escribe en la estructura para indicar el estado de error de la respuesta. Para obtener información sobre el formato de entrada RIRB, consulte La especificación de audio de alta definición de Intel en el sitio web de Intel HD Audio .

Si IsValid=0, se ha producido una de las siguientes acciones:

  • Si HasFifoOverrun=1, el FIFO RIRB se desbordó.
  • Si HasFifoOverrun=0, el códec no pudo responder.
El campo de 25 bits sin nombre entre los miembros UnsolicitedResponse y HasFifoOverrun está reservado para la expansión futura. El controlador de bus de audio HD escribe actualmente ceros en este campo.

Requisitos

Requisito Valor
Header hdaudio.h (incluye Hdaudio.h)

Consulte también

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs