Функция TraceSetInformation (evntrace.h)
Функция TraceSetInformation настраивает параметры сеанса трассировки событий.
Синтаксис
ULONG WMIAPI TraceSetInformation(
CONTROLTRACE_ID TraceId,
[in] TRACE_INFO_CLASS InformationClass,
[in] PVOID TraceInformation,
[in] ULONG InformationLength
);
Параметры
TraceId
[in] InformationClass
Класс сведений для включения или отключения. Сведения, фиксируемые классом, включаются в раздел расширенных данных события. Список классов сведений, которые можно включить, см. в перечислении TRACE_QUERY_INFO_CLASS .
[in] TraceInformation
Указатель на данные, относящиеся к классу информации. Класс information определяет содержимое этого параметра.
[in] InformationLength
Размер данных в байтах в буфере TraceInformation .
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
ERROR_BAD_LENGTH
Программа выдала команду, но длина команды неверна. Эта ошибка возвращается, если параметр InformationLength меньше минимального размера.
ERROR_INVALID_PARAMETER
Неправильный параметр".
ERROR_NOT_SUPPORTED
Запрос не поддерживается.
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращенной ошибки.
Комментарии
Вызовите эту функцию после вызова StartTrace.
Если параметр InformationClass имеет значение TraceStackTracingInfo, вызов этой функции включает трассировку стека указанных событий ядра. Последующие вызовы этой функции перезаписывают предыдущий список событий ядра, для которых включена трассировка стека. Чтобы отключить трассировку стека, вызовите эту функцию с параметром InformationClass со значением TraceStackTracingInfo , а для Параметра InformationLength — значение 0.
Раздел расширенных данных события будет включать стек вызовов. Класс MOF StackWalk_Event определяет макет расширенных данных.
Как правило, на 64-разрядных компьютерах невозможно записать стек ядра в определенных контекстах, если ошибки страниц не разрешены. Чтобы включить обход стека ядра в x64, задайте для реестра Управление памятью DisablePagingExecutive
значение 1. Значение DisablePagingExecutive
реестра находится в следующем разделе реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
.
Это следует делать только для временной диагностики, так как это увеличивает использование памяти системой.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | 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 |
DLL | Sechost.dll в Windows 8.1 и Windows Server 2012 R2; Advapi32.dll в Windows 8, Windows Server 2012, Windows 7 и Windows Server 2008 R2 |