FindFirstChangeNotification
хорошо, но для чуть более высокой мощности вы должны использовать ReadDirectoryChangesW.
(На самом деле, это даже рекомендуется в документации!)
Для него не требуется указатель на функцию, требуется ручное декодирование необработанного буфера, используются имена файлов Unicode, но обычно он лучше и более гибкий.
С другой стороны, если вы хотите делать то, что делает FileMon, вам, вероятно, следует делать то, что делает FileMon, и использовать IFS для создания и установки фильтра файловой системы .