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
指定回應輸入通道緩衝區 (RIRB) 中是否發生 FIFO 超支。 如果為 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) |