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
oNTDDI_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) oSTATUS_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 0
TraceLoggingSetInformation no hará nada y devolveráHRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
(modo de usuario) oSTATUS_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 |