特定のフラグの有効化、無効化、変更をドライバーに通知する方法

一部のドライバーでは、トレース フラグが有効、無効、または変更されたときに、追加の作業を行う必要があります。 このような変更が発生したときにドライバーに通知するには、次のコマンドを使用します。

#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) {
                        .
                        .
                   }
}