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 函数不会替换启用状态函数调用(EtwEventEnabledEtwProviderEnabled)。 然而,它作为它们的补充。 但是,除非当前启用了级别和关键字,否则不会写入该事件,而不考虑回调函数提供的 FilterData

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

要求

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

另请参阅

EnableTrace

EnableTraceEx

EtwEventEnabled

EtwProviderEnabled

EtwRegister

事件筛选器描述符