1

私はスマート カード リーダー プロバイダーからこのサンプル コードを持っています。

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です。

4

1 に答える 1

0

SCardConnectA6 つのパラメーターを取ることに注意してください。

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)
于 2013-11-04T19:58:33.233 に答える