Как Xperf (ETW) измеряет время загрузки драйвера?

Я использую Xperf для измерения времени загрузки моего драйвера WDF. Почему-то время загрузки великовато - до 1 сек. Как ни странно, так оно и остается, даже когда я удаляю весь код из драйвера.

У меня вопрос: как XPerf (или, точнее, Event Tracing для Windows) измеряет время загрузки диска? Я вижу, что это не то время, которое занимает DriveEntry, и не то время, которое занимает загрузка бинарника. Любые подсказки? Спасибо.


person Isso    schedule 18.07.2011    source источник


Ответы (1)


Я сам отвечу на свой вопрос:

XPerf измеряет только время, необходимое загрузчику Windows для загрузки двоичного файла драйвера. т.е. он не учитывает время, необходимое для выполнения внутренних процедур драйвера.

Кроме того, по какой-то странной причине, если драйвер не подписан, вывод XPerf несовместим и просто неверен. Это поведение остается, даже если «проверка подписи драйверов» отключена при запуске системы. Как только драйвер будет подписан, показатели времени загрузки станут реальными.

person Isso    schedule 15.08.2011