首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在64位Win 7上使用ScardConnectA挂起

在64位Win 7上使用ScardConnectA挂起
EN

Stack Overflow用户
提问于 2010-10-19 22:06:23
回答 4查看 1.3K关注 0票数 0

我正在更新智能卡应用程序(使用winscard.dll的Windows2)以在Windows7上运行。对于32位,只需进行较小的更改。在64位下,似乎有一个调用SCardConnectA的挂起-它坐着不返回。停止智能卡服务/移除智能卡将允许应用程序完成。

.net应用程序使用互操作,因此为了排除这种情况,我尝试从C++动态链接库调用scardconnectA,结果相同。这发生在TODOS和Gemalto设备上。到目前为止,在应用程序中,它已经清楚地设置并与阅读器进行了交谈,并确定了卡的存在。

对如何调查有什么建议吗?这里有没有可以应用的超时值?

谢谢,

戴维·米切尔

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-03 21:51:54

我现在有了一个解决方案(很抱歉花了几天时间才把它放在这里)。

在64位Windows7中似乎有行为变化。应用程序中有一个没有EndTransaction的BeginTransaction,这似乎是导致挂起的原因。出于某种原因,32位Windows原谅了这一点。

再次感谢所有留言的人。

戴维·米切尔

票数 0
EN

Stack Overflow用户

发布于 2010-10-19 23:50:04

您必须与各自的制造商合作,才能找到解决方案。您没有发布任何代码片段来验证您是否做错了什么,我怀疑您是否在本机程序中仔细检查了该行为。有几种方法可以笨拙地处理这些论点。像其他人一样,使用Unicode版本的可能性很小。

这是一种困难的支持请求,您正在与微软和卡供应商这两方合作,他们很容易相互指责。快速解决方法的唯一希望是通过将目标平台设置为x86来强制应用程序在32位模式下运行。

票数 1
EN

Stack Overflow用户

发布于 2010-10-20 07:29:39

大多数读卡器都包含64位驱动程序和32位驱动程序的单独安装程序-金雅拓肯定是这样做的(参见http://support.gemalto.com/?id=46查看针对不同架构的多个读卡器安装程序的示例页面)。

您是否仔细检查以确保在64位操作系统下使用64位驱动程序?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3969201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档