Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SystemTraceProvider — это поставщик ядра с предопределенными наборами событий ядра, поддерживаемыми в Windows 7, Windows Server 2008 R2 и более поздних версиях. В Windows 7 и Windows Server 2008 R2 systemTraceProvider можно использовать только для сеанса ведения журнала ядра NT.
В Windows 8, Windows Server 2012 и более поздних версиях SystemTraceProvider можно мультиплексировать до 8 сеансов ведения журнала. Первые два слота для сеансов ведения журнала зарезервированы для средства ведения журнала ядра NT и средства ведения журнала циклического контекста ядра.
Дополнительные сведения об использовании сеанса ведения журнала ядра NT в качестве поставщика трассировки см. в разделе "Настройка и запуск сеанса ведения журнала ядра NT".
В Windows 10 SDK сборки 20348 и более поздних версий SystemTraceProvider можно настроить с помощью отдельных поставщиков систем, которые можно контролировать с помощью EnableTraceEx2, как и стандартную трассировку событий для поставщиков событий Windows. Полный список системных поставщиков, ключевых слов и соответствующих устаревших флагов и групп см. в разделе "Поставщики систем"
Включение сеанса SystemTraceProvider
Чтобы включить SystemTraceProvider для запуска сеанса, отличного от средства ведения журнала ядра NT, выполните следующую команду:
tracelog -start MySession -f c:\Kernel1.etl -eflag PROC_THREAD+LOADER+CSWITCH
Чтобы программно включить SystemTraceProvider для запуска сеанса, отличного от средства ведения журнала ядра NT, выполните следующие действия.
Укажите имя частного логгера.
#define PRIVATE_LOGGER_NAME L"Частный сеанс трассировки"
На контроллере задайте следующие члены структуры EVENT_TRACE_PROPERTIES .
Для параметра LogFileMode установите значение EVENT_TRACE_SYSTEM_LOGGER_MODE.
Установите LoggerName как закрытый логгер, вместо KERNEL_LOGGER_NAME.
Убедитесь, что элемент Wnode.Guid структуры EVENT_TRACE_PROPERTIES не должен быть установлено в SystemTraceControlGuid. Необходимо назначить этому элементу новый GUID .
Для клиента установите элемент LoggerName структуры EVENT_TRACE_LOGFILE для этого приватного логгера.
Замечание
Если вы хотите, чтобы неадминистраторы или процессы без TCP-блока управления (TCB) могли запускать сеанс трассировки профилирования с помощью SystemTraceProvider от имени сторонних приложений, необходимо предоставить привилегии профилирования пользователя, а затем добавить этого пользователя как в GUID сеанса (созданный для сеанса ведения журнала), так и в GUID поставщика трассировки системы, чтобы активировать поставщика трассировки системы. Дополнительные сведения см. в функции EventAccessControl .
Связанные темы
Настройка и запуск сеанса приватного логирования
Настройка и запуск сеанса AutoLogger
Настройка и запуск сеанса трассировки событий
Настройка и запуск сеанса ведения журнала ядра NT
Обновление сеанса трассировки событий