Соответствующий документ Microsoft:
Блокировка операций прямого ввода в тома и диски
CreateFile, замечания по физическим дискам и томам
Исполняемый файл написан на С++ и вызывает CreateFile()
, чтобы открыть SD-карту с без файловой системы. CreateFile()
и последовательные вызовы ReadFile()
успешны для GENERIC_READ
без привилегий администратора.
CreateFile
завершается с ошибкой GENERIC_WRITE
даже с правами администратора. В проводнике я установил "Запуск от имени администратора" в разделе "Свойства" > "Совместимость" > "Уровень привилегий". Я также попытался запустить исполняемый файл с помощью cmd администратора (начатого с Ctrl + Shift + Enter, "Администратор:" находится в заголовке окна, правильно поднятом). Тем не менее, я получаю ERROR_ACCESS_DENIED
(0x5).
Должен ли я передать что-то еще на CreateFile
? Я понятия не имею, какие атрибуты безопасности, я просто передаю NULL, соответствующий код здесь в строке 92 и здесь в строке 48.
Или есть ли что-нибудь еще, что должно быть установлено для запуска процесса с правами администратора?
Связанные вопросы:
Могу ли я получить доступ на запись к секторам необработанного диска под Vista и Windows 7 в пользовательском режиме?
Необработанный доступ к разделам в Windows Vista
Как получить прямой доступ к необработанным данным HD в C?
Есть ли чистый способ получить эксклюзивный доступ к физическому разделу под Windows?