ISCardISO7816::UpdateRecord-Methode
[Die UpdateRecord-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 UpdateRecord-Methode erstellt einen APDU-Befehl ( Application Protocol Data Unit ), der einen bestimmten Datensatz mit den im APDU-Befehl angegebenen Bits aktualisiert.
Hinweis
Bei Verwendung der aktuellen Datensatzadressierung legt der Befehl den Datensatzzeiger auf den erfolgreich aktualisierten Datensatz fest.
Syntax
HRESULT UpdateRecord(
[in] BYTE byRecordId,
[in] BYTE byRefCtrl,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
Parameter
-
byRecordId [in]
-
P1-Wert:
P1 = 00 gibt den aktuellen Datensatz an.
P1 != '00' ist die Nummer des angegebenen Datensatzes.
-
byRefCtrl [in]
-
Codierung des Referenzsteuerelements P2:
Wert Bedeutung - Aktuelle EF
Bitposition: 00000---
Derzeit ausgewählte 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 aktualisierenden Datensatz.
-
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 |
---|---|
|
Operation erfolgreich abgeschlossen. |
|
Ungültiger Parameter. |
|
Ein ungültiger Zeiger wurde übergeben. |
|
Nicht genügend Arbeitsspeicher. |
Bemerkungen
Der gekapselte Befehl kann nur ausgeführt werden, wenn der 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 Ausführung dieses Befehls eine andere elementare Datei ausgewählt ist, kann dieser Befehl ohne Identifizierung der aktuell ausgewählten Datei verarbeitet werden.
Wenn der konstruierte Befehl auf eine linear feste oder zyklische elementare Datei angewendet wird, wird er abgebrochen, wenn sich die Datensatzlänge von der Länge des vorhandenen Datensatzes unterscheidet.
Wenn der Befehl auf eine linear variable strukturierte Elementardatei angewendet wird, kann er ausgeführt werden, wenn sich die Datensatzlänge von der Länge des vorhandenen Datensatzes unterscheidet.
Die Option "previous" des Befehls (P2=xxxxx011), die auf eine zyklische Datei angewendet wird, hat das gleiche Verhalten wie ein befehl, der von AppendRecord erstellt wurde.
Elementardateien ohne Datensatzstruktur können nicht gelesen werden. Der konstruierte Befehl bricht ab, wenn er auf eine elementare Datei 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 |
|
Typbibliothek |
|
DLL |
|
IID |
IID_ISCardISO7816 ist definiert als 53B6AA68-3F56-11D0-916B-00AA00C18068 |
Siehe auch