Функция SCardConnectA (winscard.h)
Функция SCardConnect устанавливает соединение (с использованием определенного контекста диспетчера ресурсов) между вызывающим приложением и интеллектуальным карта, содержащимся в определенном средстве чтения. Если в указанном средстве чтения не существует карта, возвращается ошибка.
Синтаксис
LONG SCardConnectA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReader,
[in] DWORD dwShareMode,
[in] DWORD dwPreferredProtocols,
[out] LPSCARDHANDLE phCard,
[out] LPDWORD pdwActiveProtocol
);
Параметры
[in] hContext
Дескриптор, определяющий контекст resource manager. Контекст диспетчера ресурсов задается при предыдущем вызове SCardEstablishContext.
[in] szReader
Имя средства чтения, содержащего целевой карта.
[in] dwShareMode
Флаг, указывающий, могут ли другие приложения формировать подключения к карта.
[in] dwPreferredProtocols
Битовая маска допустимых протоколов для подключения. Возможные значения можно объединить с операцией OR .
Значение | Значение |
---|---|
|
T=0 является приемлемым протоколом. |
|
T=1 является приемлемым протоколом. |
|
Этот параметр может быть равен нулю, только если параметру dwShareMode присвоено значение SCARD_SHARE_DIRECT. В этом случае драйверы не будут выполнять согласование протоколов, пока директива управления IOCTL_SMARTCARD_SET_PROTOCOL не будет отправлена с SCardControl. |
[out] phCard
Дескриптор, определяющий подключение к смарт-карта в назначенном средстве чтения.
[out] pdwActiveProtocol
Флаг, указывающий установленный активный протокол.
Значение | Значение |
---|---|
|
T=0 — активный протокол. |
|
T=1 является активным протоколом. |
|
SCARD_SHARE_DIRECT указано, поэтому согласование протокола не выполнялось. Возможно, в читателе нет карта. |
Возвращаемое значение
Эта функция возвращает различные значения в зависимости от того, успешно или неудачно.
Код возврата | Описание |
---|---|
|
SCARD_S_SUCCESS. |
|
Код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты. |
|
Читателю не удалось подключиться к карта. |
Комментарии
Функция SCardConnect — это функция интеллектуального доступа карта и чтения. Дополнительные сведения о других функциях доступа см. в разделе Функции доступа к смарт-картам и читателю.
Примеры
В следующем примере создается подключение к средству чтения. В примере предполагается, что hContext является допустимым дескриптором типа SCARDCONTEXT , полученным при предыдущем вызове SCardEstablishContext.
SCARDHANDLE hCardHandle;
LONG lReturn;
DWORD dwAP;
lReturn = SCardConnect( hContext,
(LPCTSTR)"Rainbow Technologies SCR3531 0",
SCARD_SHARE_SHARED,
SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1,
&hCardHandle,
&dwAP );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardConnect\n");
exit(1); // Or other appropriate action.
}
// Use the connection.
// Display the active protocol.
switch ( dwAP )
{
case SCARD_PROTOCOL_T0:
printf("Active protocol T0\n");
break;
case SCARD_PROTOCOL_T1:
printf("Active protocol T1\n");
break;
case SCARD_PROTOCOL_UNDEFINED:
default:
printf("Active protocol unnegotiated or unknown\n");
break;
}
// Remember to disconnect (by calling SCardDisconnect).
// ...
Примечание
Заголовок winscard.h определяет SCardConnect как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winscard.h |
Библиотека | Winscard.lib |
DLL | Winscard.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по