Compartilhar via


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 por WINVER 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) ou STATUS_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) ou STATUS_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

Confira também

TraceLoggingRegister

EventSetInformation

EVENT_INFO_CLASS