次の方法で共有


TraceLoggingProviderEnabled 関数 (traceloggingprovider.h)

トレース コンシューマーがこのプロバイダーからのイベントをリッスンしているかどうかを判断する TraceLogging マクロ。

構文

TLG_PFORCEINLINE BOOLEAN TraceLoggingProviderEnabled(
  TraceLoggingHProvider hProvider,
  UCHAR                 eventLevel,
  ULONGLONG             eventKeyword
);

パラメーター

hProvider

チェックする TraceLogging プロバイダーへのハンドル。

eventLevel

チェックするイベント レベル。 イベント レベル 0 は、イベントを示します。

eventKeyword

チェックするキーワード (keyword)。 キーワード (keyword) 0 は、特定のキーワードがないことを示します。

戻り値

トレース コンシューマー セッションが指定した条件に一致するイベントをリッスンしている場合は TRUE 、それ以外の場合は FALSE を 返します。

注釈

この API は、イベントが有効になっているかどうかを判断する簡単な方法を提供します。つまり、イベント コンシューマー セッションが、指定したレベルとキーワード (keyword)を持つ指定したプロバイダーからイベントを受信することに関心があるかどうかです。

注意

この API は保守的なクイック テストを実行します。 この API は、後続の詳細なフィルター処理によって、イベントを実際に記録する必要がない場合に true を返す可能性があります。

ほとんどのイベント プロバイダーは TraceLoggingProviderEnabled を直接呼び出しません。 TraceLoggingWrite マクロは、独自の TraceLoggingProviderEnabled テストを実行し、イベントが有効になっていない場合は直ちにを返します。 ただし、TraceLoggingWrite マクロを呼び出す前に複雑な準備を実行する前に、プロバイダーが TraceLoggingProviderEnabled を呼び出すと便利な場合があります。

// Skip GetMyInformation() if nobody is listening for MyInformationEvent:
if (TraceLoggingProviderEnabled(MyProvider, MyEventLevel, MyEventKeyword))
{
    MY_INFORMATION info;
    GetMyInformation(&info);

    TraceLoggingWrite(
        MyProvider,
        "MyInformationEvent",
        TraceLoggingLevel(MyEventLevel),
        TraceLoggingKeyword(MyEventKeyword),
        TraceLoggingValue(info.Val1),
        TraceLoggingValue(info.Val2));
}

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
Header traceloggingprovider.h

こちらもご覧ください

TraceLoggingWrite

TraceLogging ラッパー マクロ

EventProviderEnabled