Поделиться через


структура HDAUDIO_CODEC_RESPONSE (hdaudio.h)

Структура HDAUDIO_CODEC_RESPONSE указывает либо ответ на команду кодека, либо незапрошенный ответ от кодека.

Синтаксис

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;

Члены

Unsolicited

Задает 32-разрядное значение ответа, состоящее из 26-разрядного значения отклика и 6-разрядного значения тега.

Unsolicited.Response

Задает 21-разрядное значение ответа без опрошенного ответа.

Unsolicited.SubTag

Указывает 5-разрядный вложенный тег.

Unsolicited.Tag

Задает 6-разрядное значение тега для незапрошенного ответа.

Response

Задает значение ответа.

SDataIn

Указывает 4-разрядный адрес кодека (строка SDI) кодека, который создает ответ.

IsUnsolicitedResponse

Указывает, является ли ответ незапрошенным. Если 1, ответ не вызывается. Если значение равно 0, запрос запрашивается (то есть ответ на команду кодека).

HasFifoOverrun

Указывает, произошла ли переполнение FIFO в буфере входного кольца отклика (RIRB). Если 1, произошло превышение FIFO. Если значение 0, превышение FIFO не произошло.

IsValid

Указывает, является ли ответ допустимым. Если значение равно 1, ответ действителен. Если значение равно 0, недопустимо.

CompleteResponse

Задает полную, 64-разрядную сводку ответа, состоящую из 32-разрядного ответа, 4-разрядного адреса кодека, трех битов состояния и 25 неиспользуемых битов (присвойте нулю). Это значение в основном используется в сообщениях отладки.

Замечания

После вызова процедуры TransferCodecVerbs драйверы функций могут использовать структуру HDAUDIO_CODEC_RESPONSE для декодирования ответов команд кодека. Команды содержатся в структурах HDAUDIO_CODEC_TRANSFER, которые клиенты передают этой подпрограмме в качестве параметров вызова.

Обратный вызов для RegisterEventCallback также использует структуру HDAUDIO_CODEC_RESPONSE.

Большинство членов этой структуры содержат аппаратные значения, скопированные драйвером шины непосредственно из соответствующей записи RIRB. Двумя исключениями являются значения IsValid и hasFifoOverrun членов, которые программное обеспечение драйвера шины записывает в структуру, чтобы указать состояние ошибки ответа. Сведения о формате записи RIRB см. на веб-сайте веб-сайте Intel HD Audio.

Если IsValid=0, произошло одно из следующих действий:

  • Если HasFifoOverrun=1, переполняется RIRB FIFO.
  • Если HasFifoOverrun=0, кодек не удалось ответить.
Неименованное 25-разрядное поле между UnsolicitedResponse и членов HasFifoOverrun зарезервировано для дальнейшего расширения. Контроллер аудиошины HD в настоящее время записывает нули в это поле.

Требования

Требование Ценность
заголовка hdaudio.h (include Hdaudio.h)

См. также

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs