gpt4 book ai didi

c# - O2Micro 读卡器上 WINSCARD.DLL 方法 SCardTransmit 的未知响应,带有响应长度信息

转载 作者:行者123 更新时间:2023-11-30 21:12:54 26 4
gpt4 key购买 nike

为了与智能卡通信,我使用 WINSCARD.DLL 作为 API 将 APDU 命令发送到智能卡。对于几个读卡器,这是按预期工作的,但不知何故,如果我将命令发送到 O2Micro 读卡器,我从方法 SCardTransmit 得到一个未知的返回值(它不在 http://msdn.microsoft.com/en-us/library/ms936965.aspx 上)。

什么是工作:如果我发送命令(十六进制值):

CLA: 00, INS: A4, P1: 02, P2: 04, Lc: 02, Data: "4401", Le: (not present)

我收到响应 SW1: 61. SW2: 1F

响应表明有可用的 0x1F 字节。所以我发送命令:

CLA: 00, INS: A4, P1: 02, P2: 04, Lc: 02, Data: "4401", Le: 1F

但是在该命令上我没有得到任何数据并返回值 0x57

我的问题是,是否有人知道返回值 0x57 的含义,以及可能的解决或变通方法。

最佳答案

你的错误代码是windows之一System Error Codes来自 winerror.h:ERROR_INVALID_PARAMETER。这几乎总是意味着您的 APDU 没问题,但 SCardTransmit 参数是问题所在。我建议仔细查看 pbRecvBuffer 参数。警告:我只在 C++ 中使用了 SCard 函数,在 C# 中没有使用。

PC/SC 函数可以返回标准的 Windows 错误代码以及 PC/SC 特定的错误代码。请注意有关 FormatMessage 调用的一点:您可以使用它通过 Windows 提供的预定义错误消息使错误报告更通用一些。

关于c# - O2Micro 读卡器上 WINSCARD.DLL 方法 SCardTransmit 的未知响应,带有响应长度信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7174340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com