Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте следующую процедуру, чтобы настроить драйвер для входа в сеанс трассировки глобального средства ведения журнала:
Добавьте следующее определение в код драйвера. Вставьте определение между определением макроса WPP_CONTROL_GUIDS и инструкцией include для файла заголовка сообщения трассировки.
#define WPP_GLOBALLOGGER
Используйте Tracelog для настройки сеанса трассировки глобального регистратора. Простейшая команда выглядит следующим образом:
tracelog -start GlobalLogger
Полные инструкции, включая параметры конфигурации сеанса трассировки глобального регистратора, смотрите в разделах "Синтаксис команды Tracelog" и "Глобальный сеанс трассировки".
См. пример в разделе Пример 13: Создание сеанса глобального логирования.
Эта команда создает и настраивает сеанс трассировки, но сеанс не запускается до перезапуска системы (шаг 5).
В подразделе HKLM\System\CurrentControlSet\Control\WMI\GlobalLogger добавьте подраздел с именем GUID управления поставщика трасс. В Windows Vista и более поздних версиях Windows GUID управления должен быть заключен в фигурные скобки {}.
Команда tracelog -start GlobalLogger добавляет подраздел GlobalLogger в реестр. Подраздел ControlGUID устанавливает драйвер в качестве поставщика трассировки для сеанса Global Logger.
Например, чтобы настроить пример драйвера Tracedrv для входа в сеанс трассировки глобального средства ведения журнала на компьютере под управлением Windows XP, добавьте подраздел с именем GUID элемента управления Tracedrv. d58c126f-b309-11d1-969e-0000f875a5bc: HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger\d58c126f-b309-11d1-969e-0000f875a5bc.
TraceDrv, пример драйвера, который был разработан для трассировки программного обеспечения, доступен в примерах драйверов Windows репозитории на GitHub'е.
Чтобы настроить поставщик трассировки, следующие записи реестра нужно добавить в подраздел ControlGUID. Эти записи являются необязательными, а их значения определяются драйвером.
Имя записи Тип данных Описание Флаги
REG_DWORD
Указывает флаги трассировки для поставщика.
Значение флагов определяется независимо каждым поставщиком трассировки. Как правило, флаги представляют все более подробные уровни отчетности.
Уровень
REG_DWORD
Указывает уровень трассировки для поставщика.
Значение уровня определяется каждым поставщиком трассировки независимо. Как правило, уровень отслеживания представляет степень серьезности события (информация, предупреждение или ошибка).
Обратите внимание, что имя записи Flags является множественным, а имя записи Level — единственным.
- Перезапустите систему. Откроется сеанс трассировки глобального средства ведения журнала.
После завершения тестирования удалите подраздел ControlGUID или установите значение записи Start в подразделе GlobalLogger на 0. Если вы этого не сделаете, сеанс глобального логирования запускается, и драйвер создаёт журналы при каждом перезапуске системы.
Комментарии
При наличии WPP_GLOBALLOGGER WPP добавляет код, который считывает реестр и определяет, запущен ли сеанс глобального средства ведения журнала и включен ли драйвер для трассировки сеанса глобального средства ведения журнала. Этот код заменяет уведомление об активации, которое драйвер получит из стандартного сеанса трассировки.
Кроме того, так как сеанс глобального средства ведения журнала не предоставляет уведомления о обратном вызове, Windows предполагает, что произошел обратный вызов и продолжается соответствующим образом.
Определения WPP создают только небольшой объем кода, поэтому их не нужно удалять из кода после тестирования.