none
MIFAREのPC/SCを使用した読み取り RRS feed

  • 質問

  • VB.NETを使用してwinscard.dllによりMIFAREの読み取り処理を作成しています。

    OSはWin7で、カードリーダはPaSoRi RC-S380/Sです。

    「NFCポート自己診断」では「リーダー/ライタとの通信」および「カードとの通信」(MIFARE)は正常に通信できています。

    プログラムで以下のように記載していますが、「SCardEstablishContext」でエラー(2148532228)が返ってきてしまい、何をどうすればよいかわからす、ご教示頂ければ助かります。

    また、できればVB.NETのPC/SCによるMIFAREの一連の読み取り処理のサンプルコードがあれば大変助かります。

    お手数をお掛け致しますがよろしくお願い申し上げます。

        <DllImport("winscard.dll")> _
        Private Shared Function SCardEstablishContext(ByVal dwScope As UInteger, ByVal pvReserved1 As IntPtr, ByVal pvReserved2 As IntPtr, ByVal phContext As IntPtr) As UInteger
        End Function

        Private Shared Function establishContext() As IntPtr
            Dim hContext As IntPtr = IntPtr.Zero
            Const SCARD_SCOPE_USER As UInteger = 0

            Dim ret As UInteger = SCardEstablishContext(SCARD_SCOPE_USER, IntPtr.Zero, IntPtr.Zero, hContext)
            ↑ ここでエラー(2148532228)が返ってきます。

           If ret <> SCARD_S_SUCCESS Then
                Dim message As String
                Select Case ret
                    Case SCARD_E_NO_SERVICE
                        message = "Smart Cardサービスが起動されていません。"
                        Exit Select
                    Case Else
                        message = "Smart Cardサービスに接続できません。code = " & ret
                        Exit Select
                End Select
                Debug.WriteLine(message)
                Throw New NotSupportedException(message)
            End If
            Debug.WriteLine("Smart Cardサービスに接続しました。")
            Return hContext
        End Function


    • 編集済み 大谷 2014年2月13日 5:10
    2014年2月13日 5:10