Funzione SCardBeginTransaction (winscard.h)
La funzione SCardBeginTransaction avvia una transazione.
La funzione attende il completamento di tutte le altre transazioni prima dell'inizio. Dopo l'avvio della transazione, tutte le altre applicazioni non possono accedere alla smart card mentre la transazione è in corso.
Sintassi
LONG SCardBeginTransaction(
[in] SCARDHANDLE hCard
);
Parametri
[in] hCard
Valore di riferimento ottenuto da una chiamata precedente a SCardConnect.
Valore restituito
Se la funzione ha esito positivo, restituisce SCARD_S_SUCCESS.
Se la funzione non viene completata, restituisce un codice di errore. Per altre informazioni, vedere Valori restituiti della smart card.
Se un altro processo o thread ha reimpostato la scheda, SCARD_W_RESET_CARD viene restituito come previsto.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questa funzione restituisce SCARD_S_SUCCESS anche se un altro processo o thread ha reimpostato la scheda. Per determinare se la scheda è stata reimpostata, chiamare la funzione SCardStatus immediatamente dopo aver chiamato questa funzione.
Commenti
Se una transazione viene mantenuta sulla carta per più di cinque secondi senza operazioni eseguite su tale scheda, la scheda viene reimpostata. La chiamata a una delle funzioni di accesso tramite smart card e lettore o funzioni di accesso tramite scheda diretta sulla scheda che viene eseguita comporta la reimpostazione del timer per continuare a consentire l'utilizzo della transazione.
La funzione SCardBeginTransaction è una funzione di accesso tramite smart card e lettore . Per altre informazioni su altre funzioni di accesso, vedere Funzioni di accesso per smart card e lettore.
Esempio
Nell'esempio seguente viene illustrato come avviare una transazione di smart card. Nell'esempio si presuppone che lReturn
sia una variabile esistente di tipo LONG e che hCard
sia un handle valido ricevuto da una chiamata precedente a SCardConnect.
lReturn = SCardBeginTransaction( hCard );
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardBeginTransaction\n");
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winscard.h |
Libreria | Winscard.lib |
DLL | Winscard.dll |