Compartir a través de


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

Consulte también

SCardConnect

SCardEndTransaction