Я использую 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](https://i.stack.imgur.com/iE8Aw.png)
Поскольку я передаю атрибуты файла как FILE_ATTRIBUTE_READONLY , поэтому он должен быть доступен ТОЛЬКО для чтения, поэтому он не может разрешить доступ к файлам.
Язык: c ++
платформа: windows
Есть идеи?
Заранее спасибо.