w OpenTrace / ProcessTrace / StopTrace может получать данные в режиме реального времени, если вы знаете GUID поставщика.Они могут работать на Win2000, но вам нужно проанализировать необработанные данные в ваших функциях обратного вызова.Чтобы преобразовать необработанные данные в читабельный текст, нам нужен TMF / MOF.Не уверен, что они общедоступны.
Для Vista / Win7 существует новый набор API-интерфейсов TDH (Trace Data Helper) (например, TdhFormatProperty).Прокрутите вниз несколько ссылок выше, и вы можете увидеть их.Хорошая вещь о TDH в том, что они могут анализировать данные для вас (все равно нужно предоставить TDH TMF / MOF).
Я попытался написать свой собственный .etl для читаемой программы .txt, используя Open / Process /StopTrace API (потому что мне нужно поддерживать XP).Я обнаружил, что это довольно сложно.Файл TMF не сложно интерпретировать, так как это чистый текст.Сложность состоит в том, чтобы расшифровать более 50 различных недокументированных внутренних структур спецификаций формата printf-like.В итоге я сдался и остановился на мощном tracefmt.exe , предоставленном в Microsoft WDK.