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


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

Функция StopTrace останавливает указанный сеанс трассировки событий.

Эта функция является устаревшей. Функция ControlTrace заменяет эту функцию.

Синтаксис

ULONG WMIAPI StopTraceW(
  CONTROLTRACE_ID         TraceId,
  LPCWSTR                 InstanceName,
  PEVENT_TRACE_PROPERTIES Properties
);

Параметры

TraceId

InstanceName

Имя остановленного сеанса трассировки событий или ЗНАЧЕНИЕ NULL. Если TraceHandle имеет значение 0, необходимо указать InstanceName.

Чтобы указать сеанс средства ведения журнала ядра NT, задайте для instanceNameзначение KERNEL_LOGGER_NAME.

Properties

Указатель на структуру EVENT_TRACE_PROPERTIES , которая получает окончательные свойства и статистику для сеанса.

Если вы используете новую инициализированную структуру, необходимо задать только элементы Wnode.BufferSize, Wnode.Guid, LoggerNameOffset и LogFileNameOffset структуры. Вы можете использовать максимальную длину имени сеанса (1024 символа) и максимальную длину файла журнала (1024 символа), чтобы вычислить размер буфера и смещения, если они не известны.

Начиная с Windows 10 версии 1703: Для повышения производительности в сценариях между процессами теперь можно передать фильтрацию в StopTrace для частных средств ведения журнала на уровне системы. Вам потребуется передать новую структуру 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 могут управлять сеансами трассировки событий. Чтобы предоставить пользователю с ограниченным доступом возможность управлять сеансами трассировки, добавьте его в группу Пользователи журнала производительности.

    Windows XP и Windows 2000: Любой пользователь может управлять сеансом трассировки.

Комментарии

Контроллеры трассировки событий вызывают эту функцию.

Эта функция является устаревшей. Вместо этого используйте ControlTrace с параметромControlCode, для EVENT_TRACE_CONTROL_STOP.

Если LogFileMode содержит EVENT_TRACE_FILE_MODE_PREALLOCATE, StartTrace расширяет файл журнала до байтов MaximumFileSize . Файл занимает все пространство во время ведения журнала как для циклических, так и для последовательных журналов. При остановке средства ведения журнала файл журнала уменьшается до необходимого размера.

Не вызывайте StopTrace из DllMain (может привести к взаимоблокировке).

Примечание

Заголовок evntrace.h определяет StopTrace как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header evntrace.h
Библиотека Sechost.lib в Windows 8.1 и Windows Server 2012 R2; Advapi32.lib в Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista и Windows XP
DLL Sechost.dll в Windows 8.1 и Windows Server 2012 R2; Advapi32.dll в Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista и Windows XP

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

ControlTrace

StartTrace