I understand older Procmon and its predecessors (filemon, regmon etc) used virtual drivers to hook the kernel. However, Patchguard prevents SSDT hooking etc on 64-bit Vista+.
It is my understanding that Procmon now uses a minifilter driver for File IO monitoring and ETW for networking monitoring. However, I am no clear on how it monitors registry access and process/image/thread events? Does it also use ETW for these?