Jump to content
Abschaltung Forum zum 03.01.2024 ×

beyondbytes

Members
  • Gesamte Inhalte

    5
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von beyondbytes

  1. Kann mir denn niemand etwas dazu sagen? Gibt es hier jemanden, der sich damit auskennt?
  2. Es gibt ja noch die Möglichkeit zur Ansteuerung über PC/SC alternativ zur CT-API. Aber ich bin schon etwas weiter gekommen mit der CT-API. Beim Ausführen der Methode GetCardMonStatus() erhalte ich den Fehler "Tag 80". Was bedeutet das? Bevor jemand fragt: Das Kartenlesegerät ist angeschlossen und es steckt eine Versichertenkarte drin. Der Fehler tritt hier auf (siehe Kommentar im Code): Const CT_DEST_CARD = 0 Const CT_DEST_CT = 1 Const CT_DEST_APPLICATION = 2 Declare Function init Lib "Ctrsct32" Alias "CT_init" (ctn As UInt16, pn As UInt16) As Int8 Declare Function data Lib "Ctrsct32" Alias "CT_data" (ctn As UInt16, ByRef dad As Int8, ByRef sad As Int8, lenc As UInt16, command As Ptr, ByRef lenr As UInt16, response As Ptr) As Int8 Declare Function close1 Lib "Ctrsct32" Alias "CT_close" (ctn As UInt16) As Int8 Var Dad As Int8 = CT_DEST_CT Var Sad As Int8 = CT_DEST_APPLICATION Var nRelevantByte As Integer = 0 Var Cmd As New MemoryBlock(5) Cmd.Int8Value(0) = &h20 Cmd.Int8Value(1) = &h13 Cmd.Int8Value(2) = &h00 Cmd.Int8Value(3) = &h80 Cmd.Int8Value(4) = &h00 Var Lc As UInt16 = Cmd.Size Var Rsp As New MemoryBlock(65535) Var Lr As UInt16 = Rsp.Size Var nRet As Integer = -1 nRet = data(1, Dad, Sad, Lc, Cmd, lr, Rsp) If nRet < 0 Then Return "error nret < 0" End If If Lr < 3 Then return "error lr < 3" End If If CType((Rsp.Int8Value(lr - 2) * &h0100) + (Rsp.Int8Value(Lr - 1)), UInt16) <> &h9000 Then Return "error h0100" End If Select Case Lr Case 3 nRelevantByte = 0 Case 4 nRelevantByte = 0 Case 5 If ((Rsp.Int8Value(0) <> &h80) Or (Rsp.Int8Value(1) <> &h01)) Then return "error h80" // hier tritt der Fehler auf End If nRelevantByte = 2 Else Return "error default case" End Select If CType(rsp.Int8Value(nRelevantByte) And 1, Boolean) Then return "Card inserted" Else return "Card released" End If
  3. Und über die Windowsschnittstelle? Wie sieht es damit aus? Ich bin sowieso noch am Anfang des Projekts, das heißt ich kann noch "rüberswitchen".
  4. Hallo René, ich verwende nun in meinem Projekt CTAPI. Declare Function init Lib "Ctrsct32" Alias "CT_init" (ctn As UInt16, pn As UInt16) As Int8 Declare Function data Lib "Ctrsct32" Alias "CT_data" (ctn As UInt16, ByRef dad As Int8, ByRef sad As Int8, lenc As UInt16, command As Ptr, ByRef lenr As UInt16, response As Ptr) As Int8 Declare Function close1 Lib "Ctrsct32" Alias "CT_close" (ctn As UInt16) As Int8 Var value_init As Int8 Var value_close As Int8 Var value_data As Int8 Try value_init = init(1,1) If value_init = 0 Then MessageBox("success") Else MessageBox(value_init.ToString) End If Catch e As FunctionNotFoundException MessageBox(e.Message) End Try value_close = close1(1) Ich nehme an, dass der Rückgabewert 0 der Funktion CT_init bedeutet, dass die Initialisierung erfolgreich war. Ist das korrekt? Ansonsten frage ich mich, wie man die Funktion CT_data verwendet? Zu der Funktion CT_data steht in der Doku nur eine kurze Beschreibung. Das hilft mir aber in dem Fall nicht so viel weiter. Ich möchte Krankenkassen Chipkarten auslesen. Dazu gibt es von der Gematik ein PDF-Dokument: https://www.dkgev.de/fileadmin/default/Mediapool/2_Themen/2.1_Digitalisierung_Daten/2.1.5._Telematik-Infrastruktur/2.1.5.2_Einfuehrung_und_Betrieb/2013_11_06_364_eGK_Veroeffentlichung_Dokuaenderungen.pdf Vielleicht übersehe ich da auch etwas, würde mich freuen, wenn man mir dazu etwas sagen kann.
  5. Hallo, ich möchte eine Software für Windows entwickeln, anhand deren man Versichertenkarten von Krankenkassen auslesen kann. Es wäre sehr praktisch, wenn es eine Windows-API für den ReinerSCT CyberJack Standard RFID geben würde. Also wenn ich die Kartendaten z. B. über die Kommandozeile (CMD) auslesen könnte. Gibt es eine solche Schnittstelle? Beste Grüße Alex
×
×
  • Neu erstellen...

Wichtige Information

Diese Website verwendet Cookies – nähere Informationen dazu und zu Ihren Rechten als Benutzer finden Sie in unserer Datenschutzerklärung am Ende der Seite. Klicken Sie auf „Ich stimme zu“, um Cookies zu akzeptieren und direkt unsere Website besuchen zu können.