未以管理员身份登录时出现.NET硬件访问问题

问题描述:

我必须在.NET应用程序中集成与网络摄像头通信的本机库。所以我写了的PInvoke调用的封装库,并将其链接到主程序:未以管理员身份登录时出现.NET硬件访问问题

driver.dll(C++)+ driver.wrapper.dll(.NET 3.5)+应用程序(.NET 3.5)

问题是,这只有在以本地管理员身份登录时才有效(奇怪的是,它甚至在以管理员权限运行时甚至无法运行)。我没有得到任何特定的错误消息在这里,在驱动程序库刚刚返回0而不是1

当本机库直接链接到应用程序,但是

driver.dll(C++)+应用程序(C++)

它的工作原理以及管理员和用户。操作系统是Windows 7. 这种行为的原因是什么?我该如何解决这个问题?

编辑:问题是由使用的库引起的。现在解决。

+1

我不知道你想使用PInvoke的原因,但也许创建一个WIA COM包装将会更容易(并且可以与任何摄像头一起使用...而不是与您的驱动程序相关的那个)? – 2011-02-01 13:58:24

该问题是由使用的库引起的,不再相关。

一种解决方案可以编辑app.manifest

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 

     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     </requestedPrivileges> 
</security> 
    </trustInfo> 

这将始终运行你的应用程序作为管理员。