我正在为自定义USB设备编写Windows设备驱动程序,但在用户程序作为域用户运行时,无法从我的用户程序(使用CreateFile)打开设备。如果我作为本地用户或管理员(或“运行方式”管理员)运行,我可以正常打开驱动程序,但作为域用户GetLastError
返回5(访问被拒绝)。
我最初也遇到了本地用户的这个问题,发现我必须将以下SDDL条目添加到.inf文件中,这解决了本地用户的问题:
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GA;;;BA)(A;;GRGW;;;BU)
从这个参考: http://msdn.microsoft.com/en-us/library/windows/hardware/ff563667(v=vs.85).aspx
当我发现域用户没有访问权限时,我认为只是将它们添加到此SDDL条目就可以访问它,但它似乎不起作用:我仍然拒绝访问。我甚至尝试过极端的解决方案,比如给所有用户(每个人(WD),未经身份验证的用户等)完全访问权限,但这也不起作用,这让我觉得问题出在其他地方;即其他东西正在拒绝域用户访问,该访问优先于驱动程序inf中SDDL条目中的许可。
所以我的问题是,我缺少什么才能让域用户(或所有用户)访问连接到驱动程序?或者是否有任何其他解决方案可以解决此问题(例如,将驱动程序作为服务连接,然后从用户程序访问此服务)?
答案 0 :(得分:0)
HKR ,,安全,, “d:P(A ;; GA ;;; WD)”
设置每个人都可以访问,试试吧!