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 位子标记。
Unsolicited.Tag
为未经请求的响应指定 6 位标记值。
Response
指定响应值。
SDataIn
指定生成响应的编解码器的 4 位编解码器地址(SDI 行)。
IsUnsolicitedResponse
指定响应是否未经请求。 如果为 1,则不请求响应。 如果为 0,则请求响应(即对编解码器命令的响应)。
HasFifoOverrun
指定是否在响应输入环缓冲区(RIRB)中发生 FIFO 溢出。 如果为 1,则发生 FIFO 溢出。 如果为 0,则不会发生 FIFO 溢出。
IsValid
指定响应是否有效。 如果为 1,则响应有效。 如果为 0,则无效。
CompleteResponse
指定包含 32 位响应、4 位编解码器地址、3 个状态位和 25 个未使用的位(设置为零)的完整 64 位响应摘要。 此值主要用于调试消息。
言论
调用 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) |