Метод ISCard::AttachByReader
[Метод AttachByReader доступен для использования в операционных системах, указанных в разделе Требования. Он недоступен для использования в Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях, Windows Vista, Windows Server 2008 и последующих версиях операционной системы. Модули смарт-карт предоставляют аналогичные функциональные возможности.]
Метод AttachByReader открывает смарт-карта в именованном средстве чтения.
Синтаксис
HRESULT AttachByReader(
[in] BSTR bstrReaderName,
[in] SCARD_SHARE_MODES ShareMode,
[in] SCARD_PROTOCOLS PrefProtocol
);
Параметры
-
bstrReaderName [in]
-
Строка BSTR, содержащая имя средства чтения смарт-карта.
-
ShareMode [in]
-
Режим, в котором запрашивать доступ к смарт-карта.
Значение Значение - ЭКСКЛЮЗИВНЫЕ
Никто больше не использует это подключение к смарт-карта. - ОБЩИЙ
Другие приложения могут использовать это подключение. -
PrefProtocol [in]
-
Предпочтительное значение протокола.
-
T0
-
T1
-
RAW
-
T0| T1
-
Возвращаемое значение
Метод возвращает одно из следующих возможных значений.
Код возврата | Описание |
---|---|
|
Открытие в смарт-карта в именованном средстве чтения успешно завершено. |
|
Что-то не так с одним или несколькими параметрами, переданными в функцию. |
Комментарии
Помимо кодов ошибок COM, перечисленных выше, этот интерфейс может возвращать код ошибки смарт-карта, если для выполнения запроса была вызвана функция смарт-карта. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.
Завершив использование средства чтения, отпустите вложение, вызвав метод ISCard::D etach .
Примеры
В следующем примере показано присоединение к смарт-карта в указанном средстве чтения смарт-карта.
#include <windows.h>
#include <stdio.h>
#include <Scardmgr.h>
// The reader name is vendor specific; change as needed.
#define READER_NAME L"Vendor Reader 0"
void main()
{
BSTR bstrReader = NULL;
HRESULT hr;
bstrReader = SysAllocString(READER_NAME);
if (NULL == bstrReader)
{
// Error encountered.
exit(1);
}
// Connect to the reader.
hr = pISCard->AttachByReader(bstrReader, SHARED, T0);
if (FAILED(hr))
{
printf("Failed AttachByReader\n");
// Take other error handling action.
// ...
}
// Detach reader by calling ISCard::Detach (not shown).
// ...
// When done, free BSTR.
if (NULL != bstrReader)
SysFreeString(bstrReader);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Окончание поддержки клиентов |
Windows XP |
Окончание поддержки сервера |
Windows Server 2003 |
Заголовок |
|
Библиотека типов |
|
DLL |
|
IID |
IID_ISCard определяется как 1461AAC3-6810-11D0-918F-00AA00C18068 |
См. также раздел