[英]How to use Windows native dll with Administrative code?
我已经制作了一个Windows本机dll(用C语言编写),当使用CreateFile函数打开它时,它试图获取卷的独占访问权限。 由于我的dll也会在某个时间点尝试锁定卷和卸载卷,因此大多数时候这需要管理特权。 在将我的dll项目引用到解决方案后,我以管理员身份从Visual Studio 2010启动了可执行项目。 至此,它工作正常,并且我的进程能够获得该卷的独占访问权。
现在,当我释放dll并将其与QT构建的GUI程序(也以管理员身份启动)一起使用时,它无法打开卷,并给我带来共享冲突错误。 我认为我的dll无法获得管理权限。 我应该如何使用我的dll,以便它可以独占访问该卷?
任何帮助,将不胜感激。
您的问题在其他地方。 高度是在开始时由过程执行的。 如果提升了承载DLL的进程,则DLL中的代码将以提升的特权执行。
您报告的错误消息是共享冲突,可能是ERROR_SHARING_VIOLATION
。 这表明某个其他方以阻止共享的方式打开了该卷。 如果没有高程运行,这不是您将收到的错误。 如果尝试在没有足够权限的情况下打开卷,则会看到ERROR_ACCESS_DENIED
或ERROR_ELEVATION_NEEDED
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.