Funzione SCardEndTransaction (winscard.h)

La funzione SCardEndTransaction completa una transazione dichiarata in precedenza, consentendo ad altre applicazioni di riprendere le interazioni con la scheda.

Sintassi

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

Parametri

[in] hCard

Valore di riferimento ottenuto da una chiamata precedente a SCardConnect. Questo valore sarebbe stato usato anche in una chiamata precedente a SCardBeginTransaction.

[in] dwDisposition

Azione da eseguire sulla scheda nel lettore connesso in chiusura.

Valore Significato
SCARD_EJECT_CARD
Esettare la scheda.
SCARD_LEAVE_CARD
Non fare niente di speciale.
SCARD_RESET_CARD
Reimpostare la scheda.
SCARD_UNPOWER_CARD
Spegnere la scheda.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce SCARD_S_SUCCESS.

Se la funzione non viene completata, restituisce un codice di errore. Per altre informazioni, vedere Valori restituiti smart card. I codici di errore possibili seguono.

Codice/valore restituito Descrizione
SCARD_W_RESET_CARD
0x80100068L
La transazione è stata rilasciata. Qualsiasi comunicazione futura con la scheda richiede una chiamata alla funzione SCardReconnect .

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: La transazione non è stata rilasciata. L'applicazione deve chiamare immediatamente la funzione SCardDisconnect, SCardReconnect o SCardReleaseContext per evitare che una transazione esistente blocchi altri thread e processi da comunicare con la smart card.

Commenti

La funzione SCardEndTransaction è una funzione di accesso a smart card e lettore . Per altre informazioni su altre funzioni di accesso, vedere Funzioni di accesso smart card e lettore.

Esempio

L'esempio seguente termina una transazione smart card. L'esempio presuppone che lReturn sia una variabile valida di tipo LONG, che hCard è un handle valido ricevuto da una chiamata precedente alla funzione SCardConnect e che hCard sia stato passato a una chiamata precedente alla funzione SCardBeginTransaction .


lReturn = SCardEndTransaction(hCard, 
                              SCARD_LEAVE_CARD);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardEndTransaction\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

SCardBeginTransaction

SCardConnect