Sdk vb6:如何在连接智能卡时包含已定义的.dll

Sdk vb6:如何在连接智能卡时包含已定义的.dll,sdk,vb6,smartcard-reader,Sdk,Vb6,Smartcard Reader,我从智能卡读卡器提供商那里得到了这个示例代码 retCode = SCardConnect(hContext, _ cbReader.Text, _ SCARD_SHARE_EXCLUSIVE, _ SCARD_PROTOCOL_T0 Or SCARD_PROTOCOL_T1, _ hCard, _

我从智能卡读卡器提供商那里得到了这个示例代码

retCode = SCardConnect(hContext, _
                    cbReader.Text, _
                    SCARD_SHARE_EXCLUSIVE, _
                    SCARD_PROTOCOL_T0 Or SCARD_PROTOCOL_T1, _
                    hCard, _
                    Protocol)
它所做的是连接到智能卡。SCardConnect的功能声明如下:

Public Declare Function SCardConnect Lib "Winscard.dll" Alias "SCardConnectA" (ByVal hContext As Long, _
                                                                           ByVal szReaderName As String, _
                                                                           ByVal dwShareMode As Long, _
                                                                           ByVal dwPrefProtocol As Long, _
                                                                           ByRef hCard As Long, _
                                                                           ByRef ActiveProtocol As Long) As Long
我还有另一个.dll函数,我希望在连接智能卡时包含它

Declare Function MineKad Lib "mineKad.dll" (ByVal field As Long, ByVal buffer As Any, resultLength As Long) As Long
我试试这个:

retCode = SCardConnect(MineKad, _
                    hContext, _
                    cbReader.Text, _
                    SCARD_SHARE_EXCLUSIVE, _
                    SCARD_PROTOCOL_T0 Or SCARD_PROTOCOL_T1, _
                    hCard, _
                    Protocol)
但是失败了。。。
那么,在连接到智能卡时如何连接MineKad…MineKad是我需要包含的SDK,以便读取插入的卡。

注意,
SCardConnectA
需要6个参数:

ByVal hContext As Long, _
ByVal szReaderName As String, _
ByVal dwShareMode As Long, _
ByVal dwPrefProtocol As Long, _
ByRef hCard As Long, _
ByRef ActiveProtocol As Long
这里是7点:

retCode = SCardConnect(MineKad, _
                    hContext, _
                    cbReader.Text, _
                    SCARD_SHARE_EXCLUSIVE, _
                    SCARD_PROTOCOL_T0 Or SCARD_PROTOCOL_T1, _
                    hCard, _
                    Protocol)
这行吗

retCode = SCardConnect(hContext, _
                    cbReader.Text, _
                    SCARD_SHARE_EXCLUSIVE, _
                    SCARD_PROTOCOL_T0 Or SCARD_PROTOCOL_T1, _
                    hCard, _
                    Protocol)

我只是想和你核实一下。我过去在使用旧设备的SDK时遇到的一个问题是,它们假定为32位,在64位环境中无法工作。您需要确保您拥有的SDK支持您正在运行的平台。还要检查windows logs.owh。从来没有想过。现在检查一下。您的示例调用似乎只是在前面添加了另一个参数——这可能不起作用。@MiG您能提供原始的C头吗?除非你这么做,否则整个过程都将是猜谜游戏。