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 应用] |
标头 | traceloggingprovider.h |