Freigeben über


ISCardISO7816::ReadRecord-Methode

[Die ReadRecord-Methode ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es ist nicht für die Verwendung in Windows Server 2003 mit Service Pack 1 (SP1) und höher, Windows Vista, Windows Server 2008 und nachfolgenden Versionen des Betriebssystems verfügbar. Die Smartcardmodule bieten ähnliche Funktionen.]

Die ReadRecord-Methode erstellt einen APDU-Befehl ( Application Protocol Data Unit ), der entweder den Inhalt der angegebenen Datensätze oder den Anfang eines Datensatzes einer Elementardatei liest.

Syntax

HRESULT ReadRecord(
  [in]      BYTE       byRecordId,
  [in]      BYTE       byRefCtrl,
  [in]      LONG       lBytesToRead,
  [in, out] LPSCARDCMD *ppCmd
);

Parameter

byRecordId [in]

Datensatznummer oder ID des ersten zu lesenden Datensatzes (00 gibt den aktuellen Datensatz an).

byRefCtrl [in]

Codierung des Verweissteuerelements.

Wert Bedeutung
Aktuelle EF
Bitposition: 00000---
Derzeit ausgewählte EF.
Kurze EF-ID
Bitposition: xxxxx---
Kurzer EF-Bezeichner.
RFU
Bitposition: 11111---
Aufzeichnung #
Bitposition: -----1xx
Verwendung der Datensatznummer in P1.
Datensatz lesen
Bitposition: -----100
Lesedatensatz P1.
Bis zuletzt
Bitposition: -----101
Liest alle Datensätze von P1 bis zum letzten.
Bis zu P1
Bitposition: -----110
Liest alle Datensätze vom letzten bis zu P1.
RFU
Bitposition: -----111
Datensatz-ID
Bitposition: -----0xx
Verwendung der Datensatznummer in P1.
Erstes Auftreten
Bitposition: -----000
Erstes Vorkommen lesen.
Zuletzt aufgetreten
Bitposition: -----001
Letztes Vorkommen gelesen.
Nächstes Auftreten
Bitposition: -----010
Nächstes Vorkommen lesen.
Zurück
Bitposition: -----011
Vorheriges Vorkommen gelesen.
Geheimnis
Bitposition: ---xxxxx

 

lBytesToRead [in]

Anzahl der Bytes, die aus dem transparenten EF gelesen werden sollen.

Wenn das Feld Le nur Nullen enthält, sollte der Befehl je nach b3b2b1 von P2 und innerhalb des Grenzwerts von 256 für kurze Länge oder 65536 für längere Länge entweder den einzelnen angeforderten Datensatz oder die angeforderte Datensatzsequenz vollständig lesen.

ppCmd [in, out]

Bei der Eingabe ein Zeiger auf ein ISCardCmd-Schnittstellenobjekt oder NULL.

Bei der Rückgabe wird er mit dem APDU-Befehl gefüllt, der von diesem Vorgang erstellt wurde. Wenn ppCmd auf NULL festgelegt wurde, wird intern ein intelligentes KarteISCardCmd-Objekt erstellt und über den ppCmd-Zeiger zurückgegeben.

Rückgabewert

Die -Methode gibt einen der folgenden möglichen Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Operation erfolgreich abgeschlossen.
E_INVALIDARG
Ungültiger Parameter.
E_POINTER
Ein ungültiger Zeiger wurde übergeben.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

 

Bemerkungen

Der gekapselte Befehl kann nur ausgeführt werden, wenn der sicherheitsrelevante status des intelligenten Karte die Sicherheitsattribute der zu lesenden Elementardatei erfüllt.

Wenn zum Zeitpunkt der Ausgabe dieses Befehls eine andere elementare Datei ausgewählt ist, kann sie ohne Identifizierung der aktuell ausgewählten Datei verarbeitet werden.

Wenn der Befehl einen gültigen kurzen elementaren Bezeichner enthält, wird die Datei als aktuelle Elementardatei festgelegt.

Elementardateien ohne Datensatzstruktur können nicht gelesen werden. Der gekapselte Befehl bricht ab, wenn er auf eine Elementardatei ohne Datensatzstruktur angewendet wird.

Eine Liste aller Methoden, die von dieser Schnittstelle bereitgestellt werden, finden Sie unter ISCardISO7816.

Zusätzlich zu den oben aufgeführten COM-Fehlercodes gibt diese Schnittstelle möglicherweise einen Fehlercode für intelligente Karte zurück, wenn eine intelligente Karte-Funktion aufgerufen wurde, um die Anforderung abzuschließen. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Ende des Supports (Client)
Windows XP
Ende des Supports (Server)
Windows Server 2003
Header
Scardssp.h
Typbibliothek
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 ist definiert als 53B6AA68-3F56-11D0-916B-00AA00C18068

Weitere Informationen

AppendRecord

ISCardISO7816

UpdateRecord

WriteRecord