DXGKCB_LOG_ETW_EVENTコールバック関数 (dispmprt.h)
DxgkCbLogEtwEvent 関数は、Windows イベント トレーシング (ETW) イベントをログに記録します。
構文
DXGKCB_LOG_ETW_EVENT DxgkcbLogEtwEvent;
void DxgkcbLogEtwEvent(
[in] const LPCGUID EventGuid,
[in] UCHAR Type,
[in] USHORT EventBufferSize,
[in] PVOID EventBuffer
)
{...}
パラメーター
[in] EventGuid
ログに記録されるイベントを識別する GUID。
[in] Type
イベントの種類を指定する定数。 これらの定数は、Evntrace.h で定義され、EVENT_TRACE_TYPE_XXの形式になります。 EventGuid がGUID_DXGKDDI_AZURE_TRIAGE_EVENTされている場合、 Type は無視されます。
[in] EventBufferSize
EventBufferが指すバッファーのサイズ (バイト単位)。 バッファーが 256 バイトを超える場合、パフォーマンスが大幅に低下します。
[in] EventBuffer
ログに記録される情報を格納しているバッファーへのポインター。 このパラメーターには NULL を指定するか、EventGuid の値に応じて次の構造体型ポインターを指定できます。
戻り値
何一つ
備考
イベント ログが有効になっていない場合、DxgkCbLogEtwEvent は、イベントをログに記録せずに直ちに返します。
イベント ログを有効または無効にするには、DxgkDdiControlEtwLogging 関数を呼び出します。
EventBufferSize が 256 以下の場合、DxgkCbLogEtwEvent 任意の IRQL を呼び出すことができます。 EventBufferSize が 256 より大きい場合、DXgkCbLogEtwEvent IRQL = PASSIVE_LEVEL で呼び出す必要があります。
例: イベント ロガーを使用してイベントをログに記録する
次のコード例は、イベント ロガーを使用してイベントをログに記録する方法を示しています。
// {A7BF27A0-7401-4733-9FED-FDB51067FECC}
DEFINE_GUID(R200_DUMMY_LOGGING,
0xa7bf27a0, 0x7401, 0x4733, 0x9f, 0xed, 0xfd, 0xb5, 0x10, 0x67, 0xfe, 0xcc);
VOID
DummyTrace(
HW_DEVICE_EXTENSION* Adapter
)
{
Adapter->ddiCallback.DxgkCbLogEtwEvent(&R200_DUMMY_LOGGING,
EVENT_TRACE_TYPE_INFO,
0,
NULL);
}
Azure ドライバー イベントのログ記録
Windows Server 2022 (WDDM 2.9) 以降、グラフィックス ドライバーの DxgkCbLogEtwEvent コールバック関数は、Azure トリアージと監視に関連する重要なイベントを公開できます。 Azure が vGPU オファリングを追加するにつれて、ドライバーに表示される重要なイベントを公開するメカニズムを用意することがより重要になります。 監視と正常性に特に重要なのは、関数レベルのリセット (VF TDR) と GPU 全体のリセット (アダプター全体の TDR) の公開です。 今後、このフレームワークにより、OS は、問題が発生したときにトリアージ値を持つドライバー固有の動作を伴う可能性がある追加の重要なイベントを公開できるようになります。
ドライバーは、次の GUID を使用して、特定の Azure ドライバー イベントを報告する必要があります。
DEFINE_GUID(GUID_DXGKDDI_AZURE_TRIAGE_EVENT,
0x45125F6F, 0x6132, 0x4082, 0xAD, 0x17, 0xED, 0x27, 0xF8, 0xDD, 0x02, 0xF9);
これらのイベントは、インシデントトリアージに使用される標準の Azure 監視パイプラインにトリアージ情報をフィードするために、グラフィックス カーネル コンポーネントによって使用されます。 また、他のグラフィックス イベントと統合され、マシン イベント履歴をビルドするために公開され、ホストとサポートされている VM の正常性の監視に使用される便利なクエリが公開されます。
この GUID を使用すると、EventBuffer は DXGKARG_PARTITIONING_EVENT_NOTIFICATION 構造体を指します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dispmprt.h (Dispmprt.h を含む) |
IRQL | 「解説」セクションを参照してください。 |
関連項目
DXGKARG_PARTITIONING_EVENT_NOTIFICATION
DxgkDdiControlEtwLoggingの