ISCardISO7816::WriteBinary-Methode
[Die WriteBinary-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 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 im Karte vorhanden sind, mit den Bits, die im Befehl APDU angegeben sind (logischer gelöschter Zustand der Bits der Datei ist 0).
- Das logische AND der Bits, die bereits im Karte vorhanden sind, mit den Bits, die im Befehl APDU angegeben sind (logischer gelöschter Zustand der Bits der Datei ist 1).
- Der einmalige Schreibvorgang im Karte der Bits, die im Befehl APDU angegeben werden.
Wenn im Datencodierungsbyte kein Hinweis angegeben wird, 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 auf den Schreibspeicherort vom Anfang der Binärdatei (EF). Wenn b8=1 in P1, dann werden b7 und b6 von P1 auf Null (RFU-Bits) festgelegt, b5 bis b1 von P1 sind ein kurzer EF-Bezeichner und P2 der Offset des ersten Byte, das vom Anfang der Datei in Dateneinheiten geschrieben werden soll. Wenn b8=0 in P1, dann P1|| P2 ist der Offset des ersten Byte, das vom Anfang der Datei in Dateneinheiten geschrieben werden soll.
-
byP2 [in]
-
Offset auf den Schreibspeicherort vom Anfang der Binärdatei (EF). Wenn b8=1 in P1, dann werden b7 und b6 von P1 auf Null (RFU-Bits) festgelegt, b5 bis b1 von P1 sind ein kurzer EF-Bezeichner und P2 der Offset des ersten Byte, das vom Anfang der Datei in Dateneinheiten geschrieben werden soll. Wenn b8=0 in P1, dann P1|| P2 ist 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 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 |
---|---|
|
Operation erfolgreich abgeschlossen. |
|
Ungültiger Parameter. |
|
Ein fehlerhafter Zeiger wurde übergeben. |
|
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 ein schreibbinärer Vorgang auf eine Dateneinheit einer Einmalschreib-EF angewendet wurde, wird jeder weitere Schreibvorgang, der sich auf diese Dateneinheit bezieht, abgebrochen, wenn sich der Inhalt der Dateneinheit oder des logischen gelöschten Zustandsindikators (falls vorhanden) dieser Dateneinheit vom logisch gelöschten Zustand unterscheidet.
Elementardateien 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 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 |
|
Typbibliothek |
|
DLL |
|
IID |
IID_ISCardISO7816 ist definiert als 53B6AA68-3F56-11D0-916B-00AA00C18068 |
Siehe auch