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
FIFO オーバーランが応答入力リング バッファー (RIRB) で発生したかどうかを指定します。 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 エントリから直接コピーするハードウェア生成値が含まれています。 2 つの例外は、バス ドライバー ソフトウェアが応答のエラー状態を示すために構造体に書き込む、IsValid と HasFifoOverrun メンバーの値です。 RIRB エントリ形式の詳細については、Intel HD Audio Web サイトの Intel Hd Audio 仕様 参照してください。
IsValid =0 の場合、次のいずれかが発生しました。
- HasFifoOverrun =1場合、RIRB FIFO がオーバーフローしました。
- HasFifoOverrun =0 の場合、コーデックは応答できませんでした。
必要条件
要件 | 価値 |
---|---|
ヘッダー | hdaudio.h (Hdaudio.h を含む) |
関連項目
RegisterEventCallback の