DXGKARG_COLLECTDBGINFO2 構造体 (d3dkmddi.h)
DXGKARG_COLLECTDBGINFO構造体は、DxgkDdiCollectDbgInfo2 が呼び出されたときのデバッグ レポートの情報を記述します。
構文
typedef struct _DXGKARG_COLLECTDBGINFO2 {
UINT Reason;
VOID *pBuffer;
SIZE_T BufferSize;
DXGKARG_COLLECTDBGINFO_EXT *pExtension;
DXGK_TDR_TYPE TdrType;
UINT TdrPayloadSize;
VOID *TdrPayload;
} DXGKARG_COLLECTDBGINFO2;
メンバー
Reason
[入力]pBuffer が指すバッファー内のデバッグ情報を返すバグ チェック コード。 次の値を使用できます。
値 | 意味 |
---|---|
VIDEO_TDR_TIMEOUT_DETECTED 0x117 | DxgkDdiResetEngine 操作によって論理アダプターがリセットされました。 |
VIDEO_ENGINE_TIMEOUT_DETECTED 0x141 | DxgkDdiResetEngine 操作によって、物理アダプター内の 1 つ以上のノードがリセットされました。 Windows 8 以降で使用できます。 |
pBuffer
[out] Reason が指定する理由でデバッグ情報を受け取るバッファーへのポインター。
BufferSize
pBuffer が指すバッファーにコピーする最大サイズ (バイト単位)。
pExtension
ドライバーが必要に応じてデバッグ拡張機能情報を設定する OS によって割り当てられた DXGKARG_COLLECTDBGINFO_EXT 構造体へのポインター。
TdrType
[入力] 発生した TDR の種類を指定するDXGK_TDR_TYPE値。
TdrPayloadSize
[入力] TdrPayload が指す TDR ペイロードのサイズ (バイト単位)。
TdrPayload
[入力]次の表に示すように、特定の TdrType 値に固有のペイロードを含むバッファーへのポインター。 このバッファーには NULL を指定できます。
TdrType | 関連付けられた構造体 |
---|---|
DXGK_TDR_TYPE_ENGINE_TIMEOUT | TdrPayload は 、DXGK_TDR_PAYLOAD_ENGINE_TIMEOUT 構造体を指します。 |
DXGK_TDR_TYPE_VSYNC_TIMEOUT | TdrPayload は 、DXGK_TDR_PAYLOAD_VSYNC_TIMEOUT 構造体を指します。 |
注釈
DXGKARG_COLLECTDBGINFO2のレイアウトは、dxgkDdiCollectDbgInfo2 実装が必要に応じて既存の DxgkDdiCollectDbgInfo ヘルパーを再利用できるようにするために、DXGKARG_COLLECTDBGINFOと下位互換性があります。 このため、 Reason、 pBuffer、 BufferSize、 および pExtension の各フィールドのセマンティクスは同じです。
一部の TDR 型 ( TdrType で指定) の場合、OS は TdrPayloadSize バイトの TdrPayload バッファーに追加情報を提供します。 NULL にすることができ、ドライバーはクラッシュすることなくこのケースを処理することが期待されます。
ペイロードが NULL でない場合は、TDR 型に対応する構造体にキャストできます。 OS は、これらの構造を下位互換性のある方法で拡張し、最後に新しいフィールドを追加する場合があります。 ドライバーは、TdrPayload フィールドにアクセスする前に TdrPayloadSize をチェックして、OS が目的のペイロード バージョン以降を実装していることを確認する必要があります。
TdrPayload が指すメモリは、DxgkddiCollectDbgInfo2 呼び出しの期間中のみ有効です。 ドライバーは、DxgkddiCollectDbgInfo2 呼び出しの最後を過ぎて TdrPayload へのポインターを格納しないでください。
詳細については、「 TDR デバッグの機能強化」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 11バージョン 24H2 (WDDM 3.2) |
Header | d3dkmddi.h |