Función CreateTraceInstanceId (evntrace.h)
Un proveedor de eventos basado en RegisterTraceGuids ("clásico") puede usar la función CreateTraceInstanceId para crear un identificador de transacción único y asignarlo a un identificador de registro. A continuación, el proveedor usa el identificador de transacción al llamar a la función TraceEventInstance para marcar los eventos como pertenecientes a la transacción especificada. Las herramientas de análisis de seguimiento pueden usar el identificador de transacción para agrupar eventos.
Sintaxis
ULONG WMIAPI CreateTraceInstanceId(
[in] HANDLE RegHandle,
[out] PEVENT_INSTANCE_INFO InstInfo
);
Parámetros
[in] RegHandle
Identificador de una clase de seguimiento de eventos registrada. La función RegisterTraceGuids devuelve este identificador en el miembro RegHandle de la estructura TRACE_GUID_REGISTRATION .
[out] InstInfo
Puntero a una estructura de EVENT_INSTANCE_INFO . El miembro InstanceId de esta estructura contiene el identificador de transacción.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.
Si se produce un error en la función, el valor devuelto es uno de los códigos de error del sistema. A continuación se muestran algunos errores comunes y sus causas.
ERROR_INVALID_PARAMETER
Una de las siguientes condiciones se cumple:
- RegHandle es NULL.
- pInstInfo es NULL.
Comentarios
Los proveedores basados en RegisterTraceGuids ("clásico") llaman a esta función. Use EventActivityIdControl para una funcionalidad similar con un proveedor basado en EventRegister ("Crimson").
ETW crea el identificador en el proceso en modo de usuario, por lo que podría devolver el mismo número para instancias diferentes en distintos procesos. El valor comienza en cuando 1
InstanceId alcanza el valor máximo de un ULONG. Solo los proveedores en modo de usuario pueden llamar a la función CreateTraceInstanceId (los controladores no pueden llamar a esta función).
Ejemplos
Para ver un ejemplo que usa CreateTraceInstanceId, consulte Seguimiento de instancias de eventos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | evntrace.h |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |