Share via


SCardEndTransaction-Funktion (winscard.h)

Die SCardEndTransaction-Funktion schließt eine zuvor deklarierte Transaktion ab, sodass andere Anwendungen Interaktionen mit dem Karte fortsetzen können.

Syntax

LONG SCardEndTransaction(
  [in] SCARDHANDLE hCard,
  [in] DWORD       dwDisposition
);

Parameter

[in] hCard

Verweiswert, der von einem vorherigen Aufruf von SCardConnect abgerufen wurde. Dieser Wert wäre auch in einem früheren Aufruf von SCardBeginTransaction verwendet worden.

[in] dwDisposition

Aktion, die beim Schließen des Karte im verbundenen Reader ausgeführt werden soll.

Wert Bedeutung
SCARD_EJECT_CARD
Werfen Sie die Karte aus.
SCARD_LEAVE_CARD
Machen Sie nichts Besonderes.
SCARD_RESET_CARD
Setzen Sie die Karte zurück.
SCARD_UNPOWER_CARD
Schalten Sie den Karte herunter.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion SCARD_S_SUCCESS zurück.

Wenn die Ausführung der Funktion fehlschlägt, wird ein Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte. Mögliche Fehlercodes folgen.

Rückgabecode/-wert BESCHREIBUNG
SCARD_W_RESET_CARD
0x80100068L
Die Transaktion wurde freigegeben. Jede zukünftige Kommunikation mit dem Karte erfordert einen Aufruf der SCardReconnect-Funktion.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Die Transaktion wurde nicht freigegeben. Die Anwendung muss sofort die Funktionen SCardDisconnect, SCardReconnect oder SCardReleaseContext aufrufen, um zu verhindern, dass eine vorhandene Transaktion andere Threads und Prozesse daran hindert, mit dem intelligenten Karte zu kommunizieren.

Hinweise

Die SCardEndTransaction-Funktion ist eine intelligente Karte- und Lesezugriffsfunktion. Weitere Informationen zu anderen Zugriffsfunktionen finden Sie unter Smartcard- und Lesezugriffsfunktionen.

Beispiele

Im folgenden Beispiel wird eine Intelligente Karte Transaktion beendet. Im Beispiel wird davon ausgegangen, dass lReturn eine gültige Variable vom Typ LONG ist, dass hCard ein gültiges Handle ist, das von einem vorherigen Aufruf der SCardConnect-Funktion empfangen wurde, und dass hCard an einen vorherigen Aufruf der SCardBeginTransaction-Funktion übergeben wurde.


lReturn = SCardEndTransaction(hCard, 
                              SCARD_LEAVE_CARD);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardEndTransaction\n");

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winscard.h
Bibliothek Winscard.lib
DLL Winscard.dll

Weitere Informationen

SCardBeginTransaction

SCardConnect