共用方式為


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

指定包含26位回應值和6位標記值的32位未要求回應值。

Unsolicited.Response

指定21位的未要求回應值。

Unsolicited.SubTag

指定 5 位的 SubTag。

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 專案複製的硬體產生值。 這兩個例外狀況是 IsValidHasFifoOverrun 成員的值,總線驅動程式軟體會寫入結構,以指出回應的錯誤狀態。 如需 RIRB 輸入格式的相關信息,請參閱 Intel HD 音訊網站的 Intel 高定義音訊規格。

如果 IsValid=0,則發生下列其中一項:

  • 如果 HasFifoOverrun=1,則 RIRB FIFO 溢位。
  • 如果 HasFifoOverrun=0,編解碼器無法回應。
UnsolicitedResponseHasFifoOverrun 成員之間的未命名 25 位字段會保留給未來的擴充。 HD 音訊總線控制器目前會將零寫入此欄位。

規格需求

需求
標頭 hdaudio.h (包含 Hdaudio.h)

另請參閱

HDAUDIO_CODEC_TRANSFER

RegisterEventCallback

TransferCodecVerbs