Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Access 2003, Speicherbereich mit VBA auslesen

Mitglied: PCFJKG

PCFJKG (Level 1) - Jetzt verbinden

22.03.2010 um 09:10 Uhr, 5041 Aufrufe, 2 Kommentare

Kartenlesegerät von Cherry, eine DLL schreibt in den RAM, wie finde ich die Adresse bzw. den von der DLL beschriebenen Speicherbereich zum auslesen ?

Ein VBA-Modul ruft die Funktion CT_Data auf: rc = CT_DATA(ctn, dad, sad, lenc, command(0), lenr, response(0))
Ich verstehe das so, dass nach erfolgreichem Aufruf von CT_Data, welches die DLL ctpcsc32kv.dll nutzt, die von CT_Data gelesenen Daten (hier von einer Chipkarte) in den RAM geschrieben werden. Wenn dem so ist, wie kann ich feststellen, wohin die Daten geschrieben wurden um diese zu lesen ? Oder verstehe ich die Arbeitsweise völlig falsch ?

Dank an jeden der helfen kann, wie auch immer.

Herzliche Grüße

PCFJKG


Deklariert wurden

a) in einem Public-Modul:

Public Declare Function CT_DATA Lib "ctpcsc32kv.dll" Alias "CT_data" _
(ByVal ctn As Integer, ByRef dad As Integer, _
ByRef sad As Integer, ByVal lenc As Integer, _
ByRef command As Byte, ByRef lenr As Integer, _
ByRef response As Byte) As Byte

b) in dem aufrufenden Modul:

Dim rc As Byte

Dim ctn As Integer
Dim dad As Integer
Dim sad As Integer
Dim lenc As Integer
Dim command(5) As Byte
Dim lenr As Integer
Dim response(100) As Byte


ctn = STD_CTN ' Use standard CTN

dad = &H1 ' Destination Adresse 01 = CT, 0 = ICC
sad = &H2 ' Source Address 02 = HOST, 05 = REMOTE_HOST
lenr = 100 ' Size of Receive Buffer

command(0) = &H20 ' CLA
command(1) = &H11 ' INS B0 = Read Binary
command(2) = &H1 ' P1 Select by FID
command(3) = &H1 ' P2 has to be 00
command(4) = &H0 ' Length of Data to be read (100 Bytes)
' Put 00 here if you want to read all data availiable

lenc = 5 ' Length of command

jetzt wie oben bereits gezeigt:

rc = CT_DATA(ctn, dad, sad, lenc, command(0), lenr, response(0))
Mitglied: SlainteMhath
22.03.2010 um 10:49 Uhr
Moin,

du musst kein RAM direkt auslesen - Dein Ergebins steht m.E. nach Aufruf von

01.
rc = CT_DATA(ctn, dad, sad, lenc, command(0), lenr, response(0))
in der Variable response. (zumindest legt das der Name nahe )

Response wird mit ByRef übergeben. D.h. Funktion kann die Variable ändern (im Gegensatz zu ByVal wo nur der Wert übergeben wird).

lg
Slainte
Bitte warten ..
Mitglied: PCFJKG
22.03.2010 um 14:06 Uhr
Hallo Slainte,
das ging ja schnell, dafür erst einmal danke. Ich hatte zunächst auch so gedacht und einfach einmal mit (zugegeben etwas einfach)

MsgBox response(0) & " " & response(1) & " " & response(2) & " " & response(3) & " " & response(4) & " " & response(5) & " " _
& response(6) & " " & response(7) & " " & response(8) & " " & response(9) & " " & response(17) & " " _
& response(21) & response(22) & response(23)
nachgesehen, was da so "drinsteht".

Ergebnisse:
- lenr (zurückgegeben) ist nur 8 Byte groß, somit erhalten wir als response nicht die Daten der Chipkarte.
- Die meisten Werte von response(x) sind = 0

Ggf. muss die Initialisierung über die command(x) Werte anders ausehen (oder ich mache noch etwas anderes falsch , vielleicht mit der vorherigen Initialisierung ?

Public Declare Function CT_INIT Lib "ctpcsc32kv.dll" Alias "CT_init" _
(ByVal ctn As Integer, ByVal pn As Integer) As Byte

Private Sub Initialisieren()

Dim rc As Integer
Dim ctn As Integer
Dim pn As Integer

ctn = STD_CTN
pn = STD_PN
rc = CT_INIT(ctn, pn)

End Sub

Auf jeden Fall nochmals danke, vielleicht fällt Dir ja noch ein anderer Hinweis ein ?
Viele Grüße

PCFJKG
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Access 2010 vba Recordset
gelöst Frage von EUuserVB for Applications3 Kommentare

Hallo zusammen, ich arbeite seit langem mal wieder mit Access und vba: Ich habe eine Datenbank, zwei Tabellen (identisch ...

Microsoft Office
Kreuztabelle Access + VBA Code
Frage von Dr.CornwallisMicrosoft Office7 Kommentare

Hallo zusammen, ich habe eine Kreuztabelle aus einer Query erzeugt, aus dieser entsteht wiederum ein Bericht, nun habe ich ...

VB for Applications
Umkreissuche mit Access 2013 VBA
gelöst Frage von evolutionVB for Applications12 Kommentare

Hallo, ich bin auf der Suche nach einer Anleitung zur Umkreissuche mit Access 2013. Wir haben hier von der ...

Datenbanken
Syntaxfehler VBA Access 2010
gelöst Frage von Dr.CornwallisDatenbanken6 Kommentare

Liebe Gemeinde, ich habe (schon wieder) einen Fehler im Code und ich komm einfach nicht drauf warum es nicht ...

Neue Wissensbeiträge
Router & Routing

Olle Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 7 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 20 StundenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Microsoft Office

MS Office 2019 ohne OneNote - OneNote App speichert nur in Cloud

Information von Deepsys vor 1 TagMicrosoft Office6 Kommentare

Microsoft zeigt deutlich wohin alles bei Ihnen geht, OneNote 2019 wird es nicht mehr geben, und die Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Server SSD: NVMe PCIe 3.0 RAID?
Frage von bouneeFestplatten, SSD, Raid15 Kommentare

Hallo liebe Admins, mir stellt sich gerade die Frage, ob ein neuer Server mit SSD NVMe PCIe 3.0 Sinn ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Windows 10
Windows 10 Startmenü-Einstellungen Systemweit festlegen
Frage von flotautWindows 1013 Kommentare

Guten Morgen liebe Admins, wir möchten bei uns am Lehrstuhl demnächst auf Windows 10 umsteigen. Wir installieren unsere PC's ...

LAN, WAN, Wireless
OpenVPN Client Fehlermeldungen
Frage von chris84LAN, WAN, Wireless12 Kommentare

Hallo Zusammen, wir nutzen seit kurzem einen neuen Router und den OpenVPN Client. Die VPN Verbindung klappt; allerdings kommen ...