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