Freigeben über


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
S_OK
Operation erfolgreich abgeschlossen.
E_INVALIDARG
Ungültiger Parameter.
E_POINTER
Ein fehlerhafter Zeiger wurde übergeben.
E_OUTOFMEMORY
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
Scardssp.h
Typbibliothek
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 ist definiert als 53B6AA68-3F56-11D0-916B-00AA00C18068

Siehe auch

ISCardISO7816