コールバック関数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場合、は無視されます。

[in] EventBufferSize

EventBuffer が指すバッファーのサイズ (バイト単位)。 バッファーが 256 バイトを超える場合は、パフォーマンスが大幅に低下します。

[in] EventBuffer

ログに記録される情報を含むバッファーへのポインター。 このパラメーターには NULL を指定するか、 EventGuid の値に応じて次の構造体型へのポインターを指定できます。

戻り値

なし

解説

イベント ログが有効になっていない場合、 DxgkCbLogEtwEvent はイベントをログに記録せずに直ちに返します。

イベント ログを有効または無効にするには、 DxgkDdiControlEtwLogging 関数を呼び出します。

EventBufferSize が 256 以下の場合、DxgkCbLogEtwEvent は任意の IRQL を呼び出すことができます。 EventBufferSize が 256 より大きい場合は、IRQL = PASSIVE_LEVELで DxgkCbLogEtwEvent を呼び出す必要があります。

例: イベント ロガーを使用してイベントをログに記録する

次のコード例は、イベント ロガーを使用してイベントをログに記録する方法を示しています。

// {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 を使用すると、 EventBufferDXGKARG_PARTITIONING_EVENT_NOTIFICATION 構造体を指します。

要件

要件
サポートされている最小のクライアント Windows Vista
対象プラットフォーム デスクトップ
Header dispmprt.h (Dispmprt.h を含む)
IRQL 「解説」を参照してください。

こちらもご覧ください

DXGKARG_PARTITIONING_EVENT_NOTIFICATION

DxgkDdiControlEtwLogging