Функция 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 |