Windows 7 — ошибка «Отказано в доступе» при вызове CreateFile из драйвера UMDF (C ++)

Я создаю драйвер UMDF, который должен изменить яркость подсветки ЖК-дисплея.

Следующая строка кода работает в консольном приложении и успешно возвращает дескриптор устройства:

HANDLE hDevice = CreateFile(L"\\\\.\\LCD", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0);

Тем не менее, когда я использую точно такой же кусок кода в моем драйвере, он возвращает INVALID_HANDLE_VALUE, а GetLastError () дает код 5, который «Доступ запрещен»

Драйвер отлаживается удаленно на компьютере под управлением Windows 7 x64 с использованием стандартного профиля WDKRemoteUser.

Кто-нибудь знает, в чем может быть проблема? Нужно ли устанавливать разрешения и, если да, то как?

4

Решение

Звучит так, как будто вам нужно выдавать себя за водителя клиента.

Драйверы UMDF обычно работают под учетной записью LocalService и не могут
доступ к файлам или ресурсам, которые требуют учетных данных пользователя, таких как
защищенные файлы или другие защищенные ресурсы. Драйвер UMDF обычно
работает с командами и данными, которые передаются между клиентским приложением
и устройство. Поэтому большинство драйверов UMDF не имеют доступа к защищенным
Ресурсы.

Структура предоставляет возможность олицетворения, которая позволяет водителям
выдавать себя за клиента водителя и получать доступ клиента
права на охраняемые ресурсы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]