Поделиться через


Функция CreateTraceInstanceId (evntrace.h)

Поставщик событий на основе RegisterTraceGuids ("Классическая") может использовать функцию CreateTraceInstanceId для создания уникального идентификатора транзакции и сопоставления его с дескриптором регистрации. Затем поставщик использует идентификатор транзакции при вызове функции TraceEventInstance , чтобы пометить события как принадлежащие указанной транзакции. Идентификатор транзакции может использоваться средствами анализа трассировки для группировки событий.

Синтаксис

ULONG WMIAPI CreateTraceInstanceId(
  [in]  HANDLE               RegHandle,
  [out] PEVENT_INSTANCE_INFO InstInfo
);

Параметры

[in] RegHandle

Обработка для зарегистрированного класса трассировки событий. Функция RegisterTraceGuids возвращает этот дескриптор в элементе RegHandleструктуры TRACE_GUID_REGISTRATION .

[out] InstInfo

Указатель на структуру EVENT_INSTANCE_INFO . Элемент InstanceId этой структуры содержит идентификатор транзакции.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS.

Если функция завершается сбоем, возвращаемое значение является одним из кодов системных ошибок. Ниже приведены некоторые распространенные ошибки и их причины.

  • ERROR_INVALID_PARAMETER

    Выполняется одно из следующих условий.

    • RegHandle имеет значение NULL.
    • pInstInfo имеет значение NULL.

Комментарии

Поставщики на основе RegisterTraceGuids ("Классическая") вызывают эту функцию. Используйте EventActivityIdControl для аналогичных функциональных возможностей с поставщиком на основе EventRegister ("Crimson").

EtW создает идентификатор в процессе пользовательского режима, поэтому он может возвращать одинаковое число для разных экземпляров в разных процессах. Значение начинается с момента 1 , когда InstanceId достигает максимального значения для ULONG. Только поставщики пользовательского режима могут вызывать функцию CreateTraceInstanceId (драйверы не могут вызывать эту функцию).

Примеры

Пример использования CreateTraceInstanceId см. в разделе Трассировка экземпляров событий.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header evntrace.h
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

RegisterTraceGuids

TraceEventInstance