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


структура 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 неиспользуемых битов (для параметра задано значение 0). Это значение в основном используется в сообщениях отладки.

Комментарии

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

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

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

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

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

Требования

Требование Значение
Заголовок hdaudio.h (включая Hdaudio.h)

См. также раздел

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs