FILE_FLAG_BACKUP_SEMANTICS

Тема в разделе "WASM.WIN32", создана пользователем Euler, 8 окт 2011.

  1. Euler

    Euler New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2009
    Сообщения:
    56
    Добрый день, у меня следующая проблема- нужно мониторить изменения на флешках(файловая система FAT32). Для этого хотел воспользоваться функцией ReadDirectoryChangesW, а чтобы её использовать необходимо открыть каталог с флагом FILE_FLAG_BACKUP_SEMANTICS. Так вот после такого открытия каталога, нельзя просматривать его содержимое через проводник, а если в проводнике уже открыта эта папка, то CreateFile возвращает ошибку(ERROR_SHARING_VIOLATION). Скажите пожалуйста, можно ли использовать ReadDirectoryChangesW не блокируя проводник? Открытие папки выглядит так:
    Код (Text):
    1. wchar_t * dir = L"H:\\test";
    2. hDir = CreateFile(dir, FILE_LIST_DIRECTORY, FILE_SHARE_READ|FILE_SHARE_DELETE|FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0)
    Решено: нужно убрать FILE_SHARE_DELETE в третьем параметре.