Функция 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
Флаг, указывающий, могут ли другие приложения создавать подключения к этому карта.
[in] dwPreferredProtocols
Битовая маска допустимых протоколов для этого подключения. Возможные значения можно объединить с операцией ИЛИ .
Значение этого параметра должно включать текущий протокол. Попытка повторного подключения к протоколу, отличному от текущего, приведет к ошибке.
Значение | Значение |
---|---|
|
T=0 является допустимым протоколом. |
|
T=1 является допустимым протоколом. |
[in] dwInitialization
Тип инициализации, которая должна выполняться на карта.
[out, optional] pdwActiveProtocol
Флаг, указывающий установленный активный протокол.
Значение | Значение |
---|---|
|
T=0 — активный протокол. |
|
T=1 — активный протокол. |
Возвращаемое значение
Эта функция возвращает различные значения в зависимости от того, является ли она успешной или неудачной.
Код возврата | Описание |
---|---|
|
SCARD_S_SUCCESS. |
|
Код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты. |
Комментарии
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 |