gpt4 book ai didi

c++ - 获取非管理员用户的设备句柄

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:20 25 4
gpt4 key购买 nike

在我的 C++ DLL 中,我使用 CreateFile C++ 函数来获取设备句柄。我必须将它与 GENERIC_WRITE 参数一起使用。在 Vista 及更高版本上,为了使其正常工作,我需要管理员权限,但我也想与其他用户一起运行此 DLL。

注意:管理员希望其他用户执行我在 DLL 中执行的任务。

有人知道可以使用的其他 API 或解决方法吗?

最佳答案

如果您将 dll 的功能作为 COM 对象提供,您可以使用 COM Elevation Moniker :

The COM elevation moniker allows applications that are running under user account control (UAC) to activate COM classes with elevated privileges. For more information, see Focus on Least Privilege.

[...]

The elevation moniker is used to activate a COM class to accomplish a specific and limited function that requires elevated privileges, such as changing the system date and time.

Elevation requires participation from both a COM class and its client. The COM class must be configured to support elevation by annotating its registry entry, as described in the Requirements section. The COM client must request elevation by using the elevation moniker.

关于c++ - 获取非管理员用户的设备句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8120457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com