从 UMDF 驱动程序调用创建文件时出现'Access is denied'错误 (C++)
'Access is denied' error when calling CreateFile from a UMDF driver (C++)
我正在创建一个umdf驱动程序,它需要更改LCD后光的亮度。
以下代码在控制台应用程序中起作用,并成功地将句柄返回到设备:
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,即"访问被拒绝"
使用标准WDKREMOTEUSER配置文件在X64 Windows 7机器上进行远程调试。
有人知道问题可能是什么吗?我需要设置权限,如果是的话,如何?
听起来好像您需要模仿驱动程序客户。
UMDF驱动程序通常在LocalserService帐户下运行,不能 访问需要用户凭据的文件或资源,例如 受保护的文件或其他受保护的资源。UMDF驱动程序通常 在客户端应用程序之间运行命令和数据 和一个设备。因此,大多数UMDF驱动程序无法受到保护 资源。
该框架提供了一个模仿能力,可允许驾驶员 冒充驾驶员的客户并获取客户的访问权限 受保护资源的权利。
相关文章:
- Why is UINT32_MAX + 1 = 0?
- C++错误:"error: int aaa::bbb is protected within this context"
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- Is !NaN not a NaN?
- Directx 11 - CompileFromFile() is not compiling
- Centos7 g++ "to_string is not in a member of std"
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- Where is std::hardware_destructive_interference_size?
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- What is unordered_set in C++
- 你如何理解"std: :forward is just syntactic sugar"?这是真的吗?
- C++ "error: use of overloaded operator '*' is ambiguous"似乎只有一场比赛
- "Access is Denied" U盘上的创建文件()
- Windeployqt不会运行,"Access is denied."
- 从 UMDF 驱动程序调用创建文件时出现'Access is denied'错误 (C++)
- 常见日志文件系统 API 的 RegisterManageableLogClient() 和"access is denied"错误
- CreateMutex -- "Access is denied"
- 尝试在 Cygwin 中通过 G++ 编译程序时收到"access is denied "消息
- 增强串行通信,COM端口被拒绝并出现错误"open: access is denied"