特定のフラグの有効化、無効化、変更をドライバーに通知する方法
一部のドライバーでは、トレース フラグが有効、無効、または変更されたときに、追加の作業を行う必要があります。 このような変更が発生したときにドライバーに通知するには、次のコマンドを使用します。
#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) {
.
.
}
}