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

Vedi anche

SCardConnect

Scardendtransaction