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 專案複製的硬體產生值。 這兩個例外狀況是 IsValid 和 HasFifoOverrun 成員的值,總線驅動程式軟體會寫入結構,以指出回應的錯誤狀態。 如需 RIRB 輸入格式的相關信息,請參閱 Intel HD 音訊網站的 Intel 高定義音訊規格。
如果 IsValid=0,則發生下列其中一項:
- 如果 HasFifoOverrun=1,則 RIRB FIFO 溢位。
- 如果 HasFifoOverrun=0,編解碼器無法回應。
規格需求
需求 | 值 |
---|---|
標頭 | hdaudio.h (包含 Hdaudio.h) |