Я хотел бы записать имя всех файлов, к которым я обращаюсь, от определенного сетевого ресурса (и процесса доступа к файлу).Как контролировать/регистрировать доступ к файлам в удаленных папках под окнами?
Каковы предпочтительные решения в C++/Win32?
Я хотел бы записать имя всех файлов, к которым я обращаюсь, от определенного сетевого ресурса (и процесса доступа к файлу).Как контролировать/регистрировать доступ к файлам в удаленных папках под окнами?
Каковы предпочтительные решения в C++/Win32?
Необходимо указать ReadDirectoryChangesW и флаг уведомления FILE_NOTIFY_CHANGE_LAST_ACCESS.
Я не думаю, что старый FindFirstChangeNotification будет работать для вас, поскольку он уведомляет об изменениях, а не о доступе, но я традиционно использовал это для уведомлений о файлах/каталогах.
Монитор процесса от sysinternals.com может быть настроен для фильтрации по пути. Вы можете установить путь к UNC, который вам интересен при просмотре.
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
Если это для после-фактум, вы могли бы использовать Windows' security auditing.
Если вам нужно сделать это в режиме реального времени, вам может потребоваться установить интерфейс с помощью Windows message queue и понюхать конкретные события, которые вас интересуют.
+1 Я искал этот API – Searock 2011-02-13 10:34:23