我正在爲自定義USB設備編寫Windows設備驅動程序,但在用戶程序運行時無法從我的用戶程序(使用CreateFile)打開設備域用戶。如果我作爲本地用戶或管理員(或「運行身份」管理員)運行,我可以打開驅動程序,但作爲域用戶GetLastError
返回5(拒絕訪問)。Windows 7域用戶的設備驅動程序訪問權限
我本來這個問題,本地用戶也發現我有以下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條目中的許可。
所以我的問題是,我缺少什麼是需要給域用戶(或所有用戶)訪問連接到驅動程序?或者還有其他解決方案可以解決這個問題嗎(例如,將驅動程序作爲服務連接,然後從用戶程序訪問此服務)?