Мне нужно отслеживать изменения в реестре. Мне нужна подробная информация, поэтому RegNotifyChangeKeyValue
недостаточно. Итак, единственный способ, который я нашел в Google, это использовать это ужасное Отслеживание событий.
После настройки всех вещей и фактического получения данных у меня есть Registry_TypeGroup1 class
от EVENT_TRACE
:
[EventType{...}]class Registry_TypeGroup1 : Registry
{
sint64 InitialTime;
uint32 Status;
uint32 Index;
uint32 KeyHandle;
string KeyName;
};
Согласно документации, KeyName
это просто Имя раздела реестра а не полный путь к ключу для данного события. Но проблема в том, что Мне нужен полный путь за ключ!
Если я преобразовать KeyHandle
от uint32
в HKEY
и использовать NtQueryKey
(как это) — функция потерпит неудачу с неизвестным статусом.
Итак, есть ли способ получить полный путь к ключу реестра из EVENT_TRACE
экземпляр EVENT_TRACE_FLAG_REGISTRY
?
(Я спрашиваю, потому что где-то читал, что ProcMon использует трассировку событий и показывает полный путь к реестру для событий … Или перехватывает системные вызовы для Reg*
функции?)
Задача ещё не решена.