Я хочу записать имя всех файлов, к которым у меня есть доступ с определенной сетевой папки (и процесса, обращающегося к файлу).
Какие решения в C ++ / Win32 предпочтительнее?
Вам необходимо ReadDirectoryChangesW и флаг уведомления FILE_NOTIFY_CHANGE_LAST_ACCESS.
Я не думаю, что старый FindFirstChangeNotification будет работать для вас, поскольку он только уведомляет об изменениях, но не о доступе, но я традиционно использовал это для уведомлений файла / каталога.
Process Monitor от sysinternals.com может быть настроен для фильтрации по пути. Вы можете установить путь к UNC, который вы хотите посмотреть.
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
Если это не так, вы можете использовать Windows 'аудит безопасности .
Если вам нужно сделать это в режиме реального времени, то вам, возможно, придется взаимодействовать с очередью сообщений Windows и отслеживать конкретные события, которые вас интересуют.