ISCardISO7816::ManageChannel-Methode
[Die ManageChannel-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 ManageChannel-Methode erstellt einen APDU-Befehl (Application Protocol Data Unit), der logische Kanäle öffnet und schließt.
Die open-Funktion öffnet einen neuen logischen Kanal, der nicht der grundlegende Kanal ist. Optionen werden für die Karte bereitgestellt, um eine logische Kanalnummer zu zuweisen, oder für die logische Kanalnummer, die der Karte bereitgestellt werden soll.
Die close-Funktion schließt explizit einen anderen logischen Kanal als den grundlegenden Kanal. Nach dem erfolgreichen Schließen muss der logische Kanal wiederverfingbar sein.
Syntax
HRESULT ManageChannel(
[in] BYTE byChannelState,
[in] BYTE byChannel,
[in, out] LPSCARDCMD *ppCmd
);
Parameter
-
byChannelState [ In]
-
Bit b8 von P1 wird verwendet, um die open-Funktion oder die close-Funktion anzugeben. Wenn b8 0 ist, dann öffnet MANAGE CHANNEL einen logischen Kanal, und wenn b8 1 ist, schließt MANAGE CHANNEL einen logischen Kanal:
P1 = '00' zum Öffnen
P1 = '80' zu schließen
Andere Werte sind RFU.
-
byChannel [ In]
-
Für die open-Funktion (P1 = '00') werden die Bits b1 und b2 von P2 verwendet, um die logische Kanalnummer auf die gleiche Weise wie im Klassen-Byte zu codieren, die anderen Bits von P2 sind RFU.
Wenn b1 und b2 von P2 NULL sind, weist die Karte eine logische Kanalnummer zu, die in den Bits b1 und b2 des Datenfelds zurückgegeben wird.
Wenn b1 und/oder b2 von P2 nicht NULL sind, codierung eine andere logische Kanalnummer als die einfache; Dann öffnet die Karte die extern zugewiesene logische Kanalnummer.
-
ppCmd [ in, out]
-
Bei der Eingabe ein Zeiger auf ein ISCardCmd-Schnittstellenobjekt oder NULL.
Bei der Rückgabe wird er mit dem von diesem Vorgang erstellten APDU-Befehl gefüllt. Wenn ppCmd auf NULL festgelegt wurde, wird intern ein SMARTCARD-ISCardCmd-Objekt erstellt und mit dem 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
Wenn die open-Funktion erfolgreich über den grundlegenden logischen Kanal ausgeführt wird, muss die MF implizit als aktuelle DF ausgewählt werden, und der Sicherheitsstatus des neuen logischen Kanals sollte mit dem grundlegenden logischen Kanal nach ATR identisch sein. Der Sicherheitsstatus des neuen logischen Kanals sollte von dem eines anderen logischen Kanals getrennt sein.
Wenn die open-Funktion erfolgreich über einen logischen Kanal ausgeführt wird, der nicht der grundlegende Kanal ist, wird das aktuelle DF des logischen Kanals, der den Befehl ausgegeben hat, als aktuelle DF ausgewählt. Darüber hinaus sollte der Sicherheitsstatus für den neuen logischen Kanal mit dem Sicherheitsstatus des logischen Kanals identisch sein, über den die offene Funktion ausgeführt wurde.
Nach einer erfolgreichen Close-Funktion geht der Sicherheitsstatus im Zusammenhang mit diesem logischen Kanal verloren.
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 Smartcard-Fehlercode zurück, wenn eine Smartcardfunktion aufgerufen wurde, um die Anforderung zu erfüllen. 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. |