Función SCardBeginTransaction (winscard.h)
La función SCardBeginTransaction inicia una transacción.
La función espera la finalización de todas las demás transacciones antes de que comience. Una vez iniciada la transacción, se impide que todas las demás aplicaciones accedan a la tarjeta inteligente mientras la transacción está en curso.
Sintaxis
LONG SCardBeginTransaction(
[in] SCARDHANDLE hCard
);
Parámetros
[in] hCard
Valor de referencia obtenido de una llamada anterior a SCardConnect.
Valor devuelto
Si la función se realiza correctamente, 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.
Si otro proceso o subproceso ha restablecido la tarjeta, SCARD_W_RESET_CARD se devuelve según lo previsto.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta función devuelve SCARD_S_SUCCESS incluso si otro proceso o subproceso ha restablecido la tarjeta. Para determinar si se ha restablecido la tarjeta, llame a la función SCardStatus inmediatamente después de llamar a esta función.
Comentarios
Si se mantiene una transacción en la tarjeta durante más de cinco segundos sin que se produzcan operaciones en esa tarjeta, se restablece la tarjeta. Llamar a cualquiera de las funciones de acceso de tarjeta inteligente y lector o funciones de acceso directo a tarjetas en la tarjeta que se realiza la transacción da como resultado que se restablezca el temporizador para continuar permitiendo que se use la transacción.
La función SCardBeginTransaction es una función de acceso de lector y tarjeta inteligente. Para obtener más información sobre otras funciones de acceso, vea Funciones de acceso de tarjeta inteligente y lector.
Ejemplos
En el ejemplo siguiente se muestra cómo iniciar una transacción de tarjeta inteligente. En el ejemplo se supone que lReturn
es una variable existente de tipo LONG y que hCard
es un identificador válido recibido de una llamada anterior a SCardConnect.
lReturn = SCardBeginTransaction( hCard );
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardBeginTransaction\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 |