Função SCardReconnect (winscard.h)

A função SCardReconnect restabelece uma conexão existente entre o aplicativo de chamada e uma cartão inteligente. Essa função move um identificador de cartão do acesso direto ao acesso geral ou reconhece e limpa uma condição de erro que está impedindo mais acesso ao cartão.

Sintaxe

LONG SCardReconnect(
  [in]            SCARDHANDLE hCard,
  [in]            DWORD       dwShareMode,
  [in]            DWORD       dwPreferredProtocols,
  [in]            DWORD       dwInitialization,
  [out, optional] LPDWORD     pdwActiveProtocol
);

Parâmetros

[in] hCard

Valor de referência obtido de uma chamada anterior para SCardConnect.

[in] dwShareMode

Sinalizador que indica se outros aplicativos podem formar conexões com esse cartão.

Valor Significado
SCARD_SHARE_SHARED
Esse aplicativo compartilhará esse cartão com outros aplicativos.
SCARD_SHARE_EXCLUSIVE
Esse aplicativo não compartilhará esse cartão com outros aplicativos.

[in] dwPreferredProtocols

Máscara de bits de protocolos aceitáveis para essa conexão. Os valores possíveis podem ser combinados com a operação OR .

O valor desse parâmetro deve incluir o protocolo atual. Tentar se reconectar com um protocolo diferente do protocolo atual resultará em um erro.

Valor Significado
SCARD_PROTOCOL_T0
T=0 é um protocolo aceitável.
SCARD_PROTOCOL_T1
T=1 é um protocolo aceitável.

[in] dwInitialization

Tipo de inicialização que deve ser executada no cartão.

Valor Significado
SCARD_LEAVE_CARD
Não faça nada especial na reconexão.
SCARD_RESET_CARD
Redefina o cartão (Redefinição Quente).
SCARD_UNPOWER_CARD
Desligue o cartão e redefina-o (Redefinição a Frio).

[out, optional] pdwActiveProtocol

Sinalizador que indica o protocolo ativo estabelecido.

Valor Significado
SCARD_PROTOCOL_T0
T=0 é o protocolo ativo.
SCARD_PROTOCOL_T1
T=1 é o protocolo ativo.

Retornar valor

Essa função retorna valores diferentes dependendo se ela é bem-sucedida ou falha.

Código de retorno Descrição
Êxito
SCARD_S_SUCCESS.
Falha
Um código de erro. Para obter mais informações, consulte Valores retornados do cartão inteligente.

Comentários

SCardReconnect é uma função de acesso inteligente cartão e leitor. Para obter informações sobre outras funções de acesso, consulte Funções de acesso de cartão inteligente e leitor.

Exemplos

O exemplo a seguir mostra o restabelecimento de uma conexão.

DWORD     dwAP;
LONG      lReturn;

// Reconnect.
// hCardHandle was set by a previous call to SCardConnect.
lReturn = SCardReconnect(hCardHandle,
                         SCARD_SHARE_SHARED,
                         SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1,
                         SCARD_LEAVE_CARD,
                         &dwAP );
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardReconnect\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

Confira também

Scardconnect

SCardDisconnect