TraceLoggingRegisterEx 関数 (traceloggingprovider.h)

イベントのログ記録に使用できるようにトレース ログ プロバイダーを登録し、ETW 有効化コールバックを指定します。 登録は、プロバイダーの登録が解除されるか、プロセスが終了するまで有効です。

構文

TLG_STATUS TraceLoggingRegisterEx(
  [in, out]      TraceLoggingHProvider hProvider,
  [in, optional] TLG_PENABLECALLBACK   pEnableCallback,
  [in, optional] PVOID                 pCallbackContext
);

パラメーター

[in, out] hProvider

登録するトレース ログ プロバイダーのハンドル。 ハンドルがまだ登録されていない必要があります。

[in, optional] pEnableCallback

ETW トレース セッションがプロバイダーを有効または無効にするときに呼び出されるコールバックを有効にします。

[in, optional] pCallbackContext

コールバックに渡すオプションのプロバイダー定義コンテキスト ポインター。

戻り値

この関数をユーザー モード コードから呼び出すと、関数は を HRESULT返します。 マクロを SUCCEEDED() 使用して、関数が成功するかどうかを判断します。

カーネル モード コードからこの関数を呼び出すと、関数は を NTSTATUS返します。 マクロを NT_SUCCESS() 使用して、関数が成功するかどうかを判断します。

Note

TraceLoggingRegisterEx によって返されるエラー コードは、主にデバッグと診断のシナリオで使用することを目的としています。 ETW プロバイダーが登録に失敗した場合でも、ほとんどの運用コードは引き続き実行する必要があります。そのため、リリース ビルドでは、通常、TraceLoggingRegisterEx によって返されるエラー コードは無視する必要があります。

解説

プロバイダーの登録の詳細については、「 TraceLoggingRegister 」を参照してください。 コールバックの動作の詳細については、「 ETW のコールバックの有効化」を 参照してください。

TraceLoggingRegisterEx は次の処理を行います。

  • EventRegister を呼び出して ETW への接続を開きます。
  • EventRegister が成功した場合は、InformationClassEventProviderSetTraits を使用して TraceLoggingSetInformation を呼び出して、TraceLogging サポート用にプロバイダーを構成します。

TraceLoggingRegister の呼び出しは、コールバックパラメーターとコンテキスト パラメーターに NULL を指定した TraceLoggingRegisterEx の呼び出しと同じです。 セッションでプロバイダーを有効または無効にするときに ETW Enable コールバックを受け取る必要がある場合は、 TraceLoggingRegisterEx を使用します。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー traceloggingprovider.h
Library Advapi32.lib
[DLL] N/A

関連項目

ETW Enable Callback

EventRegister

TraceLoggingRegister

TraceLoggingUnregister

TraceLoggingWrite

TRACELOGGING_DEFINE_PROVIDER