Freigeben über


ISCardISO7816::WriteRecord-Methode

[Die WriteRecord-Methode ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. 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 WriteRecord-Methode erstellt einen APDU-Befehl ( Application Protocol Data Unit ), der einen der folgenden Vorgänge initiiert:

  • Der einmalige Schreibvorgang eines Datensatzes.
  • Das logische OR der Datenbytes eines Datensatzes, der bereits im Karte vorhanden ist, mit den Datenbytes des Datensatzes, die im Befehl APDU angegeben sind.
  • Das logische AND der Datenbytes eines Datensatzes, die bereits im Karte vorhanden sind, mit den Datenbytes des Datensatzes, die im Befehl APDU angegeben sind.

Wenn im Datencodierungsbyte kein Hinweis angegeben wird, gilt das logische OR-Verhalten.

Hinweis

Bei Verwendung der aktuellen Datensatzadressierung legt der Befehl den Datensatzzeiger auf den erfolgreich aktualisierten Datensatz fest.

 

Syntax

HRESULT WriteRecord(
  [in]      BYTE         byRecordId,
  [in]      BYTE         byRefCtrl,
  [in]      LPBYTEBUFFER pData,
  [in, out] LPSCARDCMD   *ppCmd
);

Parameter

byRecordId [in]

Datensatzidentifikation. Dies ist der P1-Wert:

P1 = "00" bezeichnet den aktuellen Datensatz.

P1 != '00' ist die Nummer des angegebenen Datensatzes.

byRefCtrl [in]

Codierung des Referenzsteuerelements P2.

Wert Bedeutung
Aktuelle EF
Bitposition: 00000---
Derzeit ausgewählter EF.
Kurze EF-ID
Bitposition: xxxxx---
Kurzer EF-Bezeichner.
Erster Datensatz
Bitposition: -----000
Letzter Datensatz
Bitposition: -----001
Nächster Datensatz
Bitposition: -----010
Vorheriger Datensatz
Bitposition: -----011
Datensatz #in P1
Bitposition: -----100

 

pData [in]

Zeiger auf den zu schreibenden Datensatz.

ppCmd [in, out]

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

Bei der Rückgabe wird es mit dem APDU-Befehl gefüllt, der von diesem Vorgang erstellt wurde. Wenn ppCmd auf NULL festgelegt wurde, wird ein Smart KarteISCardCmd-Objekt intern 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 fehlerhafter Zeiger wurde übergeben.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

 

Bemerkungen

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

Wenn der Befehl einen gültigen kurzen elementaren Bezeichner enthält, wird die Datei als aktuelle Elementardatei festgelegt. Wenn zum Zeitpunkt der Ausgabe dieses Befehls derzeit eine andere elementare Datei ausgewählt ist, kann dieser Befehl ohne Identifizierung der aktuell ausgewählten Datei verarbeitet werden.

Wenn der gekapselte Befehl für eine linear fixierte oder cyclisch strukturierte Elementardatei gilt, wird er abgebrochen, wenn sich die Datensatzlänge von der Länge des vorhandenen Datensatzes unterscheidet. Wenn sie für eine strukturierte Elementardatei mit linearer Variable gilt, kann sie ausgeführt werden, wenn sich die Datensatzlänge von der Länge des vorhandenen Datensatzes unterscheidet.

Wenn P2=xxxxx011 und die elementare Datei zyklische Datei ist, weist dieser Befehl das gleiche Verhalten auf, wie ein Befehl, der mit AppendRecord erstellt wurde.

Elementardateien ohne Datensatzstruktur können nicht in geschrieben werden. Der erstellte Befehl wird abgebrochen, wenn er auf eine elementare Datei ohne Datensatzstruktur angewendet wird.

Eine Liste aller von dieser Schnittstelle bereitgestellten Methoden finden Sie unter ISCardISO7816.

Zusätzlich zu den oben aufgeführten COM-Fehlercodes gibt diese Schnittstelle möglicherweise einen Intelligenten Karte Fehlercode zurück, wenn eine Smart 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

ReadRecord

UpdateRecord