Cómo notificar a un controlador al habilitar, deshabilitar o cambiar determinadas marcas?
Algunos controladores deben realizar algún trabajo adicional cuando las marcas de seguimiento están habilitadas, deshabilitadas o modificadas. Para notificar a un controlador cuando se produzcan estos cambios, use el siguiente comando:
#define WPP_PRIVATE_ENABLE_CALLBACK
Esta constante simbólica debe definirse antes de incluir el archivo TMH. La firma de función que tendrá que escribir es la siguiente:
typedef
VOID
(*PFN_WPP_PRIVATE_ENABLE_CALLBACK)(
__in LPCGUID Guid,
__in __int64 Logger,
__in BOOLEAN Enable,
__in ULONG Flags,
__in UCHAR Level);
A continuación se muestra un ejemplo de cómo notificar a un controlador cuando se habilitan determinadas marcas:
#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) {
.
.
}
}