在win7 64bit下使用vs2019開發專案,其中有列舉PCSC讀卡器并動態監視設備插拔的需求。
使用SCard這套API實作的設備列舉功能,在win7 64bit及win10 32bit上都沒有問題。
當運行在Win10 64bit系統上時程式列舉不到PCSC讀卡器。
搭建開發環境后發現SCardEstablishContext函式回傳0x8010001D,查詢錯誤碼發現是smart card resource mananger沒有啟動
右鍵編譯后exe檔案以管理員身份運行也是同樣的錯誤。
找到一個帖子:
https://docs.microsoft.com/zh-cn/archive/blogs/alejacma/scardestablishcontext-fails-with-scard_e_no_service-error
分析問題說:
SCardEstablishContext API is returning that error because it gets an Access Denied error when trying to open an event called "Global\Microsoft Smart Card Resource Manager Started" with OpenEvent API. The default security for that event on Vista and Windows 7 specifies that only SYSTEM, LOCAL SERVICE and INTERACTIVE users have access to it. NETWORK SERVICE or non-interactive users won’t be able to access the event.
Enabling "Allow service to interact with desktop" won't help.
按照帖子上的說明AddAceToObjectsSecurityDescriptor也失敗,提示沒有權想
有沒有人遇到同樣的問題?怎么解決的?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/267627.html
標籤:C#
上一篇:獲取檔案路徑 dll
下一篇:BQB藍牙測驗方面,
