Share via


Función TraceLoggingSetInformation (traceloggingprovider.h)

Configura un proveedor traceLogging mediante una llamada a EventSetInformation.

Sintaxis

TLG_STATUS TraceLoggingSetInformation(
  TraceLoggingHProvider hProvider,
  EVENT_INFO_CLASS      informationClass,
  PVOID                 pvInformation,
  ULONG                 cbInformation
);

Parámetros

hProvider

Identificador del proveedor traceLogging que se va a configurar. El proveedor debe estar en el estado registrado .

informationClass

El EVENT_INFO_CLASS de la configuración que se va a configurar.

pvInformation

Búfer de entrada con el valor de la configuración que se va a configurar. El formato de este búfer depende del valor del parámetro informationClass .

cbInformation

Tamaño, en bytes, de los datos del búfer de entrada.

Valor devuelto

Si llama a esta función desde código en modo de usuario, la función devuelve un HRESULT. Use la SUCCEEDED() macro para determinar si la función se realiza correctamente.

Si llama a esta función desde código en modo kernel, la función devuelve .NTSTATUS Use la NT_SUCCESS() macro para determinar si la función se realiza correctamente.

Comentarios

Esta función actúa como contenedor alrededor de la función EventSetInformation .

La función EventSetInformation no está disponible en todas las versiones de Windows. El comportamiento predeterminado de TraceLoggingSetInformation depende de los valores en tiempo de compilación de las WINVER macros (modo de usuario) o NTDDI_VERSION (modo kernel):

  • Si se conoce la versión de destino de Windows (según lo especificado por WINVER o NTDDI_VERSION) para admitir EventSetInformation , TraceLoggingSetInformation invocará directamente EventSetInformation.
  • De lo contrario, TraceLoggingSetInformation usará GetProcAddress (modo de usuario) o MmGetSystemRoutineAddress (modo kernel) para buscar e invocar EventSetInformation. Si se produce un error, TraceLoggingSetInformation devolverá HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) (modo de usuario) o STATUS_NOT_SUPPORTED (modo kernel).

Para invalidar el comportamiento predeterminado de esta función, defina la TLG_HAVE_EVENT_SET_INFORMATION macro antes de #include <TraceLoggingProvider.h>:

  • Si entonces #define TLG_HAVE_EVENT_SET_INFORMATION 0TraceLoggingSetInformation no hará nada y devolverá HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) (modo de usuario) o STATUS_ENTRYPOINT_NOT_FOUND (modo kernel).
  • Si, a #define TLG_HAVE_EVENT_SET_INFORMATION 1 continuación , TraceLoggingSetInformation invocará directamente EventSetInformation.
  • Si, a #define TLG_HAVE_EVENT_SET_INFORMATION 2 continuación , TraceLoggingSetInformation invocará EventSetInformation a través de GetProcAddress (modo de usuario) o MmGetSystemRoutineAddress (modo kernel).

Para obtener información adicional, consulte los comentarios del TraceLoggingProvider.h encabezado con respecto a la TLG_HAVE_EVENT_SET_INFORMATION macro.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Encabezado traceloggingprovider.h
Library Advapi32.lib

Consulte también

TraceLoggingRegister

EventSetInformation

EVENT_INFO_CLASS