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 函数调用 (EtwEventEnabled 和 EtwProviderEnabled) 。 但是,它作为它们的补充。 但是,除非当前启用了级别和关键字,否则无论回调函数提供的 FilterData 如何,都不会写入事件。
EtwEnableCallback 的调用方必须在系统线程的上下文中以 IRQL = PASSIVE_LEVEL 运行。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h) |
IRQL | PASSIVE_LEVEL |