我正在编写一个必须处理智能卡读取器的Windows服务。

通常,当我尝试连接到插入的智能卡时 SCardConnect() 失败 SCARD_E_SHARING_VIOLATION 这基本上意味着:

由于其他出色的连接,无法访问智能卡。

很公平。

我猜想,至少一个其他过程试图同时访问SMART。但是,有没有办法确定它是哪个过程?

有帮助吗?

解决方案

在你的位置,我会尝试 流程资源管理器 查看由 你的申请 如果您访问智能卡读取器。为此,您应该选择您的过程并按 Ctrl-H (菜单“视图”/“低窗格视图”/“ Handes”)。知道智能卡读取器的设备名称后,您将能够找到答案 使用设备的其他过程 如果您收到 SCARD_E_SHARING_VIOLATION 错误。你应该只使用 ctrl-f (菜单“查找”/“查找句柄或dll ...”)查找文件句柄。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top