Função TraceLoggingSetInformation (traceloggingprovider.h)
Configura um provedor tracelogging chamando EventSetInformation.
Sintaxe
TLG_STATUS TraceLoggingSetInformation(
TraceLoggingHProvider hProvider,
EVENT_INFO_CLASS informationClass,
PVOID pvInformation,
ULONG cbInformation
);
Parâmetros
hProvider
Manipule para o provedor TraceLogging a ser configurado. O provedor deve estar no estado registrado .
informationClass
O EVENT_INFO_CLASS da configuração a ser definida.
pvInformation
O buffer de entrada com o valor da configuração a ser configurada. O formato desse buffer depende do valor do parâmetro informationClass .
cbInformation
O tamanho, em bytes, dos dados no buffer de entrada.
Retornar valor
Se você chamar essa função do código do modo de usuário, a função retornará um HRESULT
. Use a SUCCEEDED()
macro para determinar se a função é bem-sucedida.
Se você chamar essa função do código do modo kernel, a função retornará um NTSTATUS
. Use a NT_SUCCESS()
macro para determinar se a função é bem-sucedida.
Comentários
Essa função serve como um wrapper em torno da função EventSetInformation .
A função EventSetInformation não está disponível em todas as versões do Windows. O comportamento padrão de TraceLoggingSetInformation depende dos valores de tempo de compilação das WINVER
macros (modo de usuário) ou NTDDI_VERSION
(modo kernel):
- Se a versão de destino do Windows (conforme especificado por ou
NTDDI_VERSION
) for conhecida porWINVER
dar suporte a EventSetInformation, TraceLoggingSetInformation invocará diretamente EventSetInformation. - Caso contrário, TraceLoggingSetInformation usará GetProcAddress (modo de usuário) ou MmGetSystemRoutineAddress (modo kernel) para localizar e invocar EventSetInformation. Se isso falhar, TraceLoggingSetInformation retornará
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(modo de usuário) ouSTATUS_NOT_SUPPORTED
(modo kernel).
Para substituir o comportamento padrão dessa função, defina a TLG_HAVE_EVENT_SET_INFORMATION
macro antes de :#include <TraceLoggingProvider.h>
- Se você
#define TLG_HAVE_EVENT_SET_INFORMATION 0
, então , TraceLoggingSetInformation não fizer nada e retornaráHRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(modo de usuário) ouSTATUS_ENTRYPOINT_NOT_FOUND
(modo kernel). - Se você
#define TLG_HAVE_EVENT_SET_INFORMATION 1
, então , TraceLoggingSetInformation invocará diretamente EventSetInformation. - Se você
#define TLG_HAVE_EVENT_SET_INFORMATION 2
, então, TraceLoggingSetInformation invocará EventSetInformation por meio de GetProcAddress (modo de usuário) ou MmGetSystemRoutineAddress (modo kernel).
Para obter informações adicionais, consulte os comentários no TraceLoggingProvider.h
cabeçalho sobre a TLG_HAVE_EVENT_SET_INFORMATION
macro.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Cabeçalho | traceloggingprovider.h |
Biblioteca | Advapi32.lib |