繁体   English   中英

如何在管理代码中使用Windows本机dll?

[英]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_DENIEDERROR_ELEVATION_NEEDED

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM