Создайте каталог / usb диск только для чтения в windows c / c ++ - PullRequest
0 голосов
/ 06 февраля 2020

Я использую CreateFile, чтобы сделать каталог ЧТЕНИЕ ТОЛЬКО, используя FILE_ATTRIBUTE_READONLY в качестве dwFlagsAndAttributes.

Однако это полностью блокирует доступ к диску. Я не могу просмотреть каталог или увидеть какие-либо файлы внутри него.

Показывает Доступ запрещен .

Мой код:

LPWSTR wszPath = L"\\\\.\\F:";      // path to the drive
HANDLE hDevice = INVALID_HANDLE_VALUE;  // handle to the drive
hDevice = CreateFile(wszPath,          // drive to open
            (GENERIC_READ|GENERIC_WRITE),    
            FILE_SHARE_READ,  // share mode
            NULL,             // default security attributes
            OPEN_EXISTING,    
            FILE_ATTRIBUTE_READONLY,       // file attributes
            NULL); 
if (hDevice == INVALID_HANDLE_VALUE)    // cannot open the drive
    {
        wprintf(L" hDevice INVALID_HANDLE_VALUE. Error %ld.\n", GetLastError());
        CloseHandle(hDevice);
        return (FALSE);
    }
      wprintf(L"Successfully opened");

Сообщение об ошибке pi c: pic

Поскольку я передаю атрибуты файла как FILE_ATTRIBUTE_READONLY , поэтому он должен быть доступен ТОЛЬКО для чтения, поэтому он не может разрешить доступ к файлам.

Язык: c ++

платформа: windows

Есть идеи?

Заранее спасибо.

...