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
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 High Definition Audio Specification を参照してください。
IsValid=0 の場合、次のいずれかが発生しました。
- HasFifoOverrun=1 の場合、RIRB FIFO がオーバーフローしました。
- HasFifoOverrun=0 の場合、コーデックは応答できませんでした。
要件
要件 | 値 |
---|---|
Header | hdaudio.h (Hdaudio.h を含む) |