Поделиться через


Функция SCardReconnect (winscard.h)

Функция SCardReconnect восстанавливает существующее подключение между вызывающим приложением и смарт-карта. Эта функция перемещает дескриптор карта из прямого доступа в общий или подтверждает и очищает условие ошибки, которое препятствует дальнейшему доступу к карта.

Синтаксис

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

Параметры

[in] hCard

Значение ссылки, полученное из предыдущего вызова SCardConnect.

[in] dwShareMode

Флаг, указывающий, могут ли другие приложения создавать подключения к этому карта.

Значение Значение
SCARD_SHARE_SHARED
Это приложение будет совместно использовать эту карта с другими приложениями.
SCARD_SHARE_EXCLUSIVE
Это приложение не будет совместно использовать эту карта с другими приложениями.

[in] dwPreferredProtocols

Битовая маска допустимых протоколов для этого подключения. Возможные значения можно объединить с операцией ИЛИ .

Значение этого параметра должно включать текущий протокол. Попытка повторного подключения к протоколу, отличному от текущего, приведет к ошибке.

Значение Значение
SCARD_PROTOCOL_T0
T=0 является допустимым протоколом.
SCARD_PROTOCOL_T1
T=1 является допустимым протоколом.

[in] dwInitialization

Тип инициализации, которая должна выполняться на карта.

Значение Значение
SCARD_LEAVE_CARD
Не делайте ничего особенного при повторном подключении.
SCARD_RESET_CARD
Сброс карта (теплый сброс).
SCARD_UNPOWER_CARD
Выключите карта и сбросьте его (холодный сброс).

[out, optional] pdwActiveProtocol

Флаг, указывающий установленный активный протокол.

Значение Значение
SCARD_PROTOCOL_T0
T=0 — активный протокол.
SCARD_PROTOCOL_T1
T=1 — активный протокол.

Возвращаемое значение

Эта функция возвращает различные значения в зависимости от того, является ли она успешной или неудачной.

Код возврата Описание
Успешно
SCARD_S_SUCCESS.
Failure
Код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.

Комментарии

SCardReconnect — это интеллектуальная карта и функция доступа для чтения. Дополнительные сведения о других функциях доступа см. в разделе Функции доступа к смарт-картам и читателю.

Примеры

В следующем примере показано восстановление подключения.

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");

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winscard.h
Библиотека Winscard.lib
DLL Winscard.dll

См. также раздел

SCardConnect

SCardDisconnect