ReadDirectoryChangesW не отправляет события для файлов размером более 2 ГБ?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 ReadDirectoryChangesW не отправляет события для файлов размером более 2 ГБ?

Сообщение Anonymous »

В нашем приложении мы используем ReadDirectoryChangesW() для получения уведомлений об изменении файла в отслеживаемой папке, например. вызвать новую проверку файла.
При копировании нового файла в просматриваемую папку поначалу все работает нормально — я получаю уведомления обо всех изменениях, на которые я подписался.Но в какой-то момент уведомления просто прекращаются. Однако файл все еще растет и пишется, как и ожидалось.
После наблюдения проблемы пару раз я заметил, что прекращение уведомлений, похоже, коррелирует с размером достигаемой копии и/ или превышает 2 ГБ (вернее, предположительно 2^31 байт).
Никакие другие операции не выполняются с отслеживаемой папкой и никакие ошибки не возвращаются через указанную Процедура завершения.
Это делается с помощью локального монтирования NTFS в Windows 11.
Папка не является общей.
Просматривая документацию, я не нашел никаких указаний на наличие внутреннего ограничения для ReadDirectoryChangesW().
Я уже пробовал переключение в ReadDirectoryChangesExW(), но безрезультатно.
Итак, существует ли внутреннее ограничение этого API?
Есть ли известный способ обойти его?< /п>

Подробнее здесь: https://stackoverflow.com/questions/783 ... beyond-2gb
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»