Поделиться через


Разделы справки уведомлять драйвер при включении, отключении или изменении определенных флагов?

Некоторые драйверы должны выполнять дополнительные действия при включении, отключении или изменении флагов трассировки. Чтобы уведомить драйвер о таких изменениях, используйте следующую команду:

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