Compartilhar via


Como fazer notificar um driver ao habilitar, desabilitar ou alterar determinados sinalizadores?

Alguns drivers precisam fazer algum trabalho adicional quando os sinalizadores de rastreamento estão habilitados, desabilitados ou alterados. Para notificar um driver quando essas alterações ocorrerem, use o seguinte comando:

#define WPP_PRIVATE_ENABLE_CALLBACK 

Essa constante simbólica deve ser definida antes de incluir o arquivo TMH. A assinatura de função que você precisará gravar é a seguinte:

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

Veja a seguir um exemplo de como notificar um driver quando determinados sinalizadores estiverem habilitados:

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