TraceLoggingProviderEnabled 函式 (traceloggingprovider.h)

TraceLogging 宏,以判斷任何追蹤取用者是否正在接聽此提供者的事件。

語法

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

參數

hProvider

要檢查之 TraceLogging 提供者的句柄。

eventLevel

您要檢查的事件層級。 事件層級 0 表示任何事件。

eventKeyword

您要檢查的關鍵字。 關鍵詞 0 表示沒有特定的關鍵詞。

傳回值

如果任何追蹤取用者會話正在接聽符合指定準則的事件,則傳回 TRUE ,否則傳回 FALSE

備註

此 API 提供簡單的方法來判斷事件是否已啟用,亦即,任何事件取用者會話是否有興趣從具有指定層級和關鍵詞的指定提供者接收事件。

注意

此 API 會執行保守的快速測試。 在某些情況下,此 API 可能會傳回 true,在某些情況下,後續的深度篩選會判斷沒有任何會話實際需要記錄事件。

大部分的事件提供者不會直接呼叫 TraceLoggingProviderEnabledTraceLoggingWrite 宏會執行自己的 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 應用程式]
標頭 traceloggingprovider.h

另請參閱

TraceLoggingWrite

TraceLogging 包裝函式宏

EventProviderEnabled