I need to track registry changes. I need detailed information, so RegNotifyChangeKeyValue
is not enough. So, the only way I found in Google is to use this horrible Event Tracing.
After configuring all stuff and actual getting the data, I have Registry_TypeGroup1 class
from EVENT_TRACE
:
[EventType{...}]class Registry_TypeGroup1 : Registry
{
sint64 InitialTime;
uint32 Status;
uint32 Index;
uint32 KeyHandle;
string KeyName;
};
According to the documentation, KeyName
is just the Name of the registry key and not the full key path for the given event. But the problem is that I need the full path for the key!
If I convert KeyHandle
from uint32
to HKEY
and use NtQueryKey
(like this) - the function will fail with an unknown status.
So, is there a way to retrieve the full Registry key path from the EVENT_TRACE
instance of EVENT_TRACE_FLAG_REGISTRY
?
(I am asking because I read somewhere that ProcMon uses Event Tracing and it shows the full Registry path for events... Or does it hook system calls to Reg*
functions?)