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 1InstanceId 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

Consulte también

RegisterTraceGuids

TraceEventInstance