Função SCardBeginTransaction (winscard.h)
A função SCardBeginTransaction inicia uma transação.
A função aguarda a conclusão de todas as outras transações antes de começar. Depois que a transação é iniciada, todos os outros aplicativos são impedidos de acessar a cartão inteligente enquanto a transação está em andamento.
Sintaxe
LONG SCardBeginTransaction(
[in] SCARDHANDLE hCard
);
Parâmetros
[in] hCard
Um valor de referência obtido de uma chamada anterior para SCardConnect.
Retornar valor
Se a função for bem-sucedida, ela retornará SCARD_S_SUCCESS.
Se a função falhar, será exibido um código de erro. Para obter mais informações, consulte Valores retornados do cartão inteligente.
Se outro processo ou thread tiver redefinido o cartão, SCARD_W_RESET_CARD será retornado conforme o esperado.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Essa função retorna SCARD_S_SUCCESS mesmo que outro processo ou thread tenha redefinido o cartão. Para determinar se o cartão foi redefinido, chame a função SCardStatus imediatamente após chamar essa função.
Comentários
Se uma transação for mantida no cartão por mais de cinco segundos sem que nenhuma operação ocorra nesse cartão, a cartão será redefinida. Chamar qualquer uma das funções de acesso de cartão inteligente e leitor ou funções de acesso a cartão direto no cartão que é transacionado resulta na redefinição do temporizador para continuar permitindo que a transação seja usada.
A função SCardBeginTransaction é uma função de acesso inteligente cartão e leitor. Para obter mais informações sobre outras funções de acesso, consulte Funções de acesso de cartão inteligente e leitor.
Exemplos
O exemplo a seguir demonstra como iniciar uma transação de cartão inteligente. O exemplo pressupõe que lReturn
seja uma variável existente do tipo LONG e que hCard
seja um identificador válido recebido de uma chamada anterior para SCardConnect.
lReturn = SCardBeginTransaction( hCard );
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardBeginTransaction\n");
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winscard.h |
Biblioteca | Winscard.lib |
DLL | Winscard.dll |