Compartir a través de


Función SCardEndTransaction (winscard.h)

La función SCardEndTransaction completa una transacción declarada previamente, lo que permite que otras aplicaciones reanuden las interacciones con la tarjeta.

Sintaxis

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

Parámetros

[in] hCard

Valor de referencia obtenido de una llamada anterior a SCardConnect. Este valor también se habría usado en una llamada anterior a SCardBeginTransaction.

[in] dwDisposition

Acción que se debe realizar en la tarjeta del lector conectado al cerrar.

Valor Significado
SCARD_EJECT_CARD
Expulse la tarjeta.
SCARD_LEAVE_CARD
No hagas nada especial.
SCARD_RESET_CARD
Restablezca la tarjeta.
SCARD_UNPOWER_CARD
Apaga la tarjeta.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve SCARD_S_SUCCESS.

Si la función presenta un error, devuelve un código de error. Para obtener más información, consulte Valores devueltos de tarjeta inteligente. Los posibles códigos de error siguen.

Código o valor devuelto Descripción
SCARD_W_RESET_CARD
0x80100068L
Se lanzó la transacción. Cualquier comunicación futura con la tarjeta requiere una llamada a la función SCardReconnect .

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: La transacción no se ha liberado. La aplicación debe llamar inmediatamente a la función SCardDisconnect, SCardReconnect o SCardReleaseContext para evitar que una transacción existente bloquee otros subprocesos y procesos de comunicación con la tarjeta inteligente.

Comentarios

La función SCardEndTransaction es una función de acceso de lector y tarjeta inteligente. Para obtener más información sobre otras funciones de acceso, consulte Funciones de acceso de lector y tarjeta inteligente.

Ejemplos

En el ejemplo siguiente se finaliza una transacción de tarjeta inteligente. En el ejemplo se supone que lReturn es una variable válida de tipo LONG, que hCard es un identificador válido recibido de una llamada anterior a la función SCardConnect y que hCard se pasó a una llamada anterior a la función SCardBeginTransaction .


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

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winscard.h
Library Winscard.lib
Archivo DLL Winscard.dll

Consulte también

SCardBeginTransaction

SCardConnect