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


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

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

ControlTrace

QueryAllTraces