启用、禁用或更改特定的标志时如何通知驱动程序?

启用、禁用或更改跟踪标志时,某些驱动程序需要执行一些额外的工作。 若要在发生此类更改时通知驱动程序,请使用以下命令:

#define WPP_PRIVATE_ENABLE_CALLBACK 

在包含 TMH 文件之前,必须定义此符号常量。 需要编写的函数签名如下所示:

typedef
VOID
(*PFN_WPP_PRIVATE_ENABLE_CALLBACK)(
__in LPCGUID Guid,
__in __int64 Logger,
__in BOOLEAN Enable,
__in ULONG Flags,
__in UCHAR Level);

下面是在启用某些标志时如何通知驱动程序的示例:

#define WPP_PRIVATE_ENABLE_CALLBACK MyOwnCallback
#include "tracedrv.tmh" // this is the file that will be auto-generated 
VOID MyOwnCallback (
                 __in LPCGUID Guid,
                 __in __int64 Logger,
                 __in BOOLEAN Enable,
                 __in ULONG Flags,
                 __in UCHAR Level) 
{
//                
//                  This callback function will be called with the current values of : GUID, Logger, Enable, Flags, and Level
//                 

                  if (Enable) {
                        .
                        .
                   }
}