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 anderen logischen Kanal als den einfachen Kanal. Es werden Optionen für die Karte zum Zuweisen einer logischen Kanalnummer oder für die Angabe der logischen Kanalnummer für den Karte bereitgestellt.
Die Close-Funktion schließt explizit einen anderen logischen Kanal als den einfachen Kanal. Nach dem erfolgreichen Schließen soll der logische Kanal zur Wiederverwendung zur Verfügung stehen.
Syntax
HRESULT ManageChannel(
[in] BYTE byChannelState,
[in] BYTE byChannel,
[in, out] LPSCARDCMD *ppCmd
);
Parameter
-
byChannelState [in]
-
Bit b8 von P1 wird verwendet, um die geöffnete Funktion oder die Schließen-Funktion anzugeben. wenn b8 0 ist, öffnet MANAGE CHANNEL einen logischen Kanal, und wenn b8 1 ist, schließt MANAGE CHANNEL einen logischen Kanal:
P1 = '00' zum Öffnen
P1 = '80' zum Schließen
Andere Werte sind RFU
-
byChannel [in]
-
Für die offene Funktion (P1 = '00') werden die Bits b1 und b2 von P2 verwendet, um die logische Kanalnummer auf die gleiche Weise zu codieren wie im Klassenbyte, die anderen Bits von P2 sind RFU.
Wenn b1 und b2 von P2 NULL sind, weist der 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, codieren sie eine andere logische Kanalnummer als die basis; dann öffnet der 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 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 mithilfe des ppCmd-Zeigers 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 geöffnete Funktion erfolgreich über den logischen Basiskanal ausgeführt wird, muss der MF implizit als aktueller DF ausgewählt werden, und die sicherheitsrelevante status des neuen logischen Kanals sollte mit dem logischen Basiskanal nach ATR identisch sein. Die sicherheitsrelevanten status des neuen logischen Kanals sollten von jedem anderen logischen Kanal getrennt sein.
Wenn die geöffnete Funktion erfolgreich über einen logischen Kanal ausgeführt wird, der nicht der grundlegende Kanal ist, wird die aktuelle DF des logischen Kanals, der den Befehl ausgegeben hat, als aktuelle DF ausgewählt. Darüber hinaus sollte die sicherheitsrelevante status für den neuen logischen Kanal mit dem sicherheitsrelevanten status des logischen Kanals identisch sein, von dem aus die geöffnete Funktion ausgeführt wurde.
Nach einer erfolgreichen Schließen-Funktion geht die Sicherheits-status 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 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