ISCardISO7816::WriteBinary-Methode
[Die WriteBinary-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 WriteBinary-Methode erstellt einen APDU-Befehl (Application Protocol Data Unit), der Binärwerte in eine elementare Datei schreibt.
Abhängig von den Dateiattributen führt der Befehl einen der folgenden Vorgänge aus:
- Das logische OR der Bits, die bereits auf der Karte vorhanden sind, mit den Bits, die im Befehls-APDU angegeben sind (logischer gelöschter Zustand der Bits der Datei ist 0).
- Das logische AND der Bits, die bereits auf der Karte vorhanden sind, mit den Bits, die im Befehls-APDU angegeben sind (logischer gelöschter Zustand der Bits der Datei ist 1).
- Der einmalige Schreibvorgang auf der Karte der Bits, die in der Befehls-APDU angegeben sind.
Wenn im Datencodierungs-Byte keine Angabe erfolgt, gilt das logische OR-Verhalten.
Syntax
HRESULT WriteBinary(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
Parameter
-
byP1 [ In]
-
Offset zum Schreibspeicherort vom Anfang der Binärdatei (EF). Wenn b8=1 in P1, b7 und b6 von P1 auf 0 (RFU-Bits) festgelegt sind, sind b5 bis b1 von P1 ein kurzer EF-Bezeichner, und P2 ist der Offset des ersten Byte, das vom Anfang der Datei in Dateneinheiten geschrieben werden soll. Wenn b8=0 in P1 ist, ist P1 | | P2 der Offset des ersten Byte, das vom Anfang der Datei in Dateneinheiten geschrieben werden soll.
-
byP2 [ In]
-
Offset zum Schreibspeicherort vom Anfang der Binärdatei (EF). Wenn b8=1 in P1, b7 und b6 von P1 auf 0 (RFU-Bits) festgelegt sind, sind b5 bis b1 von P1 ein kurzer EF-Bezeichner, und P2 ist der Offset des ersten Byte, das vom Anfang der Datei in Dateneinheiten geschrieben werden soll. Wenn b8=0 in P1 ist, ist P1 | | P2 der Offset des ersten Byte, das vom Anfang der Datei in Dateneinheiten geschrieben werden soll.
-
pData [ In]
-
Zeiger auf die Zeichenfolge der zu schreibenden Dateneinheiten.
-
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 ISCardCmd-Smartcardobjekt 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 Sicherheitsstatus der Smartcard die Sicherheitsattribute der zu verarbeitenden elementaren Datei erfüllt.
Wenn der Befehl einen gültigen kurzen elementaren Bezeichner enthält, wird die Datei als aktuelle elementare Datei festgelegt.
Wenn ein Schreibbinärvorgang auf eine Dateneinheit eines EF mit einmaligem Schreibvorgang angewendet wurde, wird jeder weitere Schreibvorgang, der sich auf diese Dateneinheit bezieht, abgebrochen, wenn sich der Inhalt der Dateneinheit oder der an diese Dateneinheit angefügte indikator für den logischen gelöschten Zustand (sofern vorhanden) vom logischen gelöschten Zustand unterscheidet.
Elementare Dateien ohne transparente Struktur können nicht in geschrieben werden. Der gekapselte Befehl wird abgebrochen, wenn er auf eine elementare Datei ohne transparente Struktur 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 Smartcardfehlercode zurück, wenn eine Smartcardfunktion aufgerufen wurde, um die Anforderung abzuschließen. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows [Nur XP-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2003-Desktop-Apps] |
| Ende des Supports (Client) |
Windows XP |
| Ende des Supports (Server) |
Windows Server 2003 |
| Header |
|
| Typbibliothek |
|
| DLL |
|
| IID |
IID _ ISCardISO7816 ist als 53B6AA68-3F56-11D0-916B-00AA00C18068 definiert. |