ETWENABLECALLBACK 回调函数 (wdm.h)

EtwEnableCallback 函数是驱动程序提供的可选回调函数,用于接收启用或禁用通知。

语法

ETWENABLECALLBACK Etwenablecallback;

void Etwenablecallback(
  [in]                LPCGUID SourceId,
                      ULONG ControlCode,
  [in]                UCHAR Level,
  [in]                ULONGLONG MatchAnyKeyword,
  [in]                ULONGLONG MatchAllKeyword,
  [in, optional]      PEVENT_FILTER_DESCRIPTOR FilterData,
  [in, out, optional] PVOID CallbackContext
)
{...}

参数

[in] SourceId

标识启用提供程序的会话的 GUID。

ControlCode

[in] Level

启用事件的级别。 此参数是提供程序定义的值,用于指定提供程序写入的事件的详细程度。 如果此值小于或等于事件定义的级别值,则提供程序必须写入事件。

此值在 EnableTraceEx 函数的 Level 参数或 EnableTrace 函数的 EnableLevel 参数中传递。

[in] MatchAnyKeyword

提供程序用于确定其写入的事件类别的关键字的位掩码。

此值在 EnableTraceEx 函数的 MatchAnyKeyword 参数或 EnableTrace 函数的 EnableFlag 参数中传递。 MatchAnyKeyword 是 64 位值,基本上是 32 位 EnableFlag 的扩展版本。

[in] MatchAllKeyword

此位掩码还限制提供程序写入的事件类别。

此值在 EnableTraceEx 函数的 MatchAllKeywords 参数中传递。

[in, optional] FilterData

提供程序定义的数据。 此参数是可选的。 提供程序确定数据的布局及其用途。 例如,提供程序可以使用此数据来额外筛选它写入的事件,或者在写入事件之前使用它执行某些计算。 有关详细信息,请参阅 事件筛选器描述符

[in, out, optional] CallbackContext

当提供程序调用 EtwRegister 来注册自身时定义的回调函数的上下文。 此参数可选。

返回值

备注

使用 EtwRegister 函数指定指向 EtwEnableCallback 函数的指针。

使用回调函数的 FilterData 参数为提供程序提供复杂的筛选功能。 EtwEnableCallback 函数不会替换 enable-status 函数调用 (EtwEventEnabledEtwProviderEnabled) 。 但是,它作为它们的补充。 但是,除非当前启用了级别和关键字,否则无论回调函数提供的 FilterData 如何,都不会写入事件。

EtwEnableCallback 的调用方必须在系统线程的上下文中以 IRQL = PASSIVE_LEVEL 运行。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 中可用。
目标平台 桌面
标头 wdm.h (包括 Wdm.h、Ntddk.h)
IRQL PASSIVE_LEVEL

另请参阅

EnableTrace

EnableTraceEx

EtwEventEnabled

EtwProviderEnabled

EtwRegister

事件筛选器描述符