Как использовать ETW из клиента C ++ Windows

StackOverflow https://stackoverflow.com/questions/2134384

  •  22-09-2019
  •  | 
  •  

Вопрос

Я изучаю трассировку событий для Windows (ETW), чтобы позволить клиенту Windows в пользовательском режиме записывать информацию трассировки.Существующая документация, мягко говоря, безумно неполная.Что действительно помогло бы, так это простой пример C ++, который записывает сообщения трассировки с использованием ETW.Существует ли такой пример?Есть ли другая документация ETW, которую вы могли бы порекомендовать?

Это было полезно?

Решение

Чтобы написать Поставщик услуг для ETW у вас есть два варианта: либо записать его как поставщик на основе манифеста (предпочтительнее для Vista или более поздней версии), либо как классический поставщик для устаревшей поддержки.Если вы хотите использовать подход, основанный на манифесте, тогда ознакомьтесь вот пример здесь.В качестве альтернативы вы должны найти классический пример провайдера здесь.

Я полагаю, вы хотите использовать подход, основанный на манифестах, поскольку он лучше и может поддерживать до 8 сеансов.Первый шаг, который необходимо сделать поставщику на основе манифеста, - это зарегистрировать событие с помощью Регистрация событий и и затем напишите ему через Запись события или EventWriteString Строка событий функция.

Другие советы

Этот документ от Microsoft хорош для начала здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top