SCardBeginTransaction-Funktion (winscard.h)
Die SCardBeginTransaction-Funktion startet eine Transaktion.
Die Funktion wartet auf den Abschluss aller anderen Transaktionen, bevor sie beginnt. Nachdem die Transaktion gestartet wurde, wird der Zugriff aller anderen Anwendungen auf die intelligente Karte blockiert, während die Transaktion ausgeführt wird.
Syntax
LONG SCardBeginTransaction(
[in] SCARDHANDLE hCard
);
Parameter
[in] hCard
Ein Verweiswert, der aus einem vorherigen Aufruf von SCardConnect abgerufen wurde.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird SCARD_S_SUCCESS zurückgegeben.
Wenn die Ausführung der Funktion fehlschlägt, wird ein Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.
Wenn der Karte von einem anderen Prozess oder Thread zurückgesetzt wurde, wird SCARD_W_RESET_CARD wie erwartet zurückgegeben.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Diese Funktion gibt SCARD_S_SUCCESS zurück, auch wenn der Karte von einem anderen Prozess oder Thread zurückgesetzt wurde. Um festzustellen, ob die Karte zurückgesetzt wurde, rufen Sie die SCardStatus-Funktion unmittelbar nach dem Aufrufen dieser Funktion auf.
Hinweise
Wenn eine Transaktion mehr als fünf Sekunden lang auf dem Karte gehalten wird, ohne dass vorgänge für diesen Karte ausgeführt werden, wird die Karte zurückgesetzt. Das Aufrufen einer der Smartcard- und Lesezugriffsfunktionen oder Direct Card Access Functions auf der Karte, die durchgeführt wird, führt dazu, dass der Timer zurückgesetzt wird, damit die Transaktion weiterhin verwendet werden kann.
Die SCardBeginTransaction-Funktion ist eine intelligente Karte- und Lesezugriffsfunktion. Weitere Informationen zu anderen Zugriffsfunktionen finden Sie unter Smartcard- und Lesezugriffsfunktionen.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie eine Transaktion mit einer intelligenten Karte gestartet wird. Im Beispiel wird davon ausgegangen, dass lReturn
es sich um eine vorhandene Variable vom Typ LONG handelt, die ein gültiges Handle ist, das hCard
von einem vorherigen Aufruf von SCardConnect empfangen wurde.
lReturn = SCardBeginTransaction( hCard );
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardBeginTransaction\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 |