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 |
---|---|
|
Expulse la tarjeta. |
|
No hagas nada especial. |
|
Restablezca la tarjeta. |
|
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 |
---|---|
|
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 |