Функция QueryTraceA (evntrace.h)
Функция QueryTrace извлекает параметры свойства и статистику сеанса для указанного сеанса трассировки событий.
Эта функция является устаревшей. Функция ControlTrace заменяет эту функцию.
Синтаксис
ULONG WMIAPI QueryTraceA(
CONTROLTRACE_ID TraceId,
LPCSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
Параметры
TraceId
InstanceName
Имя запрашиваемого сеанса трассировки событий или ЗНАЧЕНИЕ NULL. Необходимо указать InstanceName , если TraceHandle имеет значение 0.
Чтобы указать сеанс средства ведения журнала ядра NT, задайте для instanceNameзначение KERNEL_LOGGER_NAME.
Properties
Указатель на инициализированную структуру EVENT_TRACE_PROPERTIES .
Необходимо задать только элемент Wnode.BufferSize структуры EVENT_TRACE_PROPERTIES . Вы можете использовать максимальное имя сеанса (1024 символа) и максимальное имя файла журнала (1024 символа) для вычисления размера буфера и смещения, если они не известны.
В выходных данных элементы структуры содержат параметры свойств и статистику сеанса для сеанса трассировки событий.
Начиная с Windows 10 версии 1703: Для повышения производительности в сценариях перекрестных процессов теперь можно передать фильтрацию в QueryTrace для системных частных средств ведения журнала. Вам потребуется передать новую структуру EVENT_TRACE_PROPERTIES_V2 , чтобы включить сведения о фильтрации. Дополнительные сведения см. в разделе Настройка и запуск сеанса частного средства ведения журнала .
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение является одним из кодов системных ошибок. Ниже приведены некоторые распространенные ошибки и их причины.
ERROR_BAD_LENGTH
Выполняется одно из следующих условий.
- Элемент Wnode.BufferSizeсвойства указывает неправильный размер.
- В свойствах недостаточно места, выделенного для хранения копии имени сеанса и имени файла журнала (если используется).
ERROR_INVALID_PARAMETER
Выполняется одно из следующих условий.
- Свойство имеет значение NULL.
- InstanceName и TraceHandle имеют значение NULL.
- InstanceName имеет значение NULL , а TraceHandle не является допустимым дескриптором.
ERROR_ACCESS_DENIED
Только пользователи с повышенными правами администратора, пользователи в группе Пользователи журнала производительности и службы, работающие под управлением LocalSystem, LocalService, NetworkService, могут запрашивать сеансы трассировки событий. Чтобы предоставить ограниченному пользователю возможность запрашивать сеансы трассировки, добавьте его в группу Пользователи журнала производительности или см. раздел EventAccessControl.
Windows XP и Windows 2000: Любой пользователь может управлять сеансом трассировки.
ERROR_WMI_INSTANCE_NOT_FOUND
Данный сеанс не выполняется.
Комментарии
Контроллеры трассировки событий вызывают эту функцию.
Эта функция является устаревшей. Вместо этого используйте ControlTrace с параметромControlCode, для EVENT_TRACE_CONTROL_QUERY.
Примечание
Заголовок evntrace.h определяет QueryTrace как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | evntrace.h |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |