Если API ненадежен, то обходной путь может быть единственным вариантом. Это, конечно, вероятно, включает в себя отслеживание lastmodified и имен файлов. Что это не значит, что вам нужно опросить при поиске изменений, скорее вы можете использовать FileSystemWatcher как средство для запуска проверки.
Итак, если вы отслеживаете последние 50-100 раз, когда произошло событие ReadDirectoryChangesW / FSW , и вы видите, что оно вызывается быстро, вы можете обнаружить его и вызвать специальное условие, чтобы получить все файлы, которые были изменены (и установите флажок, чтобы временно запретить будущие фиктивные события FSW) в течение нескольких секунд.
Поскольку некоторые люди запутались в комментариях об этом решении, я предлагаю вам следить за тем, как быстро события поступают из ReadDirectoryChangesW, а когда они поступают слишком быстро, попробуйте попробовать обходной путь (обычно ручное сканирование каталог).