Как извлечь определенные поля из пакета ETW, когда задействованы структура и массивы

Я пишу приложение C++ для отслеживания определенных полей в определенных пакетах ETW. В частности, Microsoft-Windows-USB-USB3HUB, Из всех примеров, которые мне удалось взять в руки, правильный способ - сначала сделать recursive-look-like искать в буфере и печатать поля одно за другим с уважением к его типу. В пределах более 20 типов _TDH_OUT_TYPE ENUM.

Итак, дали следующий пакет: введите описание изображения здесь

Теоретически, как извлечь и сохранить Fid_PortNumber"s Fid_PortPath[0]и Fid_PortPath[1]ценности без повторной реализации VARIANT как член для хранения любых типов переменных?

Кроме того, я хотел бы извлечь другие типы событий, с различными типами полей и структур. Как правильно подходить к этой проблеме? Как сериализовать пакет ETW в работоспособный интерфейс / структуру C++?

Изменить: код взят здесь

0 ответов

Другие вопросы по тегам