структура SCARD_READERSTATEW (winscard.h)

Структура SCARD_READERSTATE используется функциями для отслеживания смарт-карт в модулях чтения.

Синтаксис

typedef struct {
  LPCWSTR szReader;
  LPVOID  pvUserData;
  DWORD   dwCurrentState;
  DWORD   dwEventState;
  DWORD   cbAtr;
  BYTE    rgbAtr[36];
} SCARD_READERSTATEW, *PSCARD_READERSTATEW, *LPSCARD_READERSTATEW;

Члены

szReader

Указатель на имя отслеживаемого средства чтения.

Задайте для этого элемента значение "\\? PnP?\Notification" и значения всех остальных элементов равны нулю, чтобы получать уведомления о поступлении нового интеллектуального средства чтения карта.

pvUserData

Не используется подсистемой интеллектуального карта. Этот элемент используется приложением.

dwCurrentState

Текущее состояние средства чтения, как показано приложением. Это поле может принимать любое из следующих значений в сочетании в виде битовой маски.

Значение Значение
SCARD_STATE_UNAWARE
Приложение не знает о текущем состоянии и хотело бы знать. Использование этого значения приводит к немедленному возвращению из служб мониторинга перехода состояния. Это представлено всеми битами, равными нулю.
SCARD_STATE_IGNORE
Приложение не заинтересовано в этом средстве чтения и не должно учитываться при выполнении операций мониторинга. Если это значение бита задано, все остальные биты игнорируются.
SCARD_STATE_UNAVAILABLE
Приложение ожидает, что это средство чтения недоступно для использования. Если этот бит задан, все следующие биты игнорируются.
SCARD_STATE_EMPTY
Приложение ожидает, что в средстве чтения нет карта. Если этот бит задан, все следующие биты игнорируются.
SCARD_STATE_PRESENT
Приложение ожидает, что в средстве чтения есть карта.
SCARD_STATE_ATRMATCH
Приложение ожидает, что в средстве чтения есть карта с ATR, который соответствует одной из целевых карт. Если этот бит задан, предполагается SCARD_STATE_PRESENT. Этот бит не имеет значения для SCardGetStatusChange помимо SCARD_STATE_PRESENT.
SCARD_STATE_EXCLUSIVE
Приложение ожидает, что карта в средстве чтения будет выделена для монопольного использования другим приложением. Если этот бит задан, предполагается SCARD_STATE_PRESENT.
SCARD_STATE_INUSE
Приложение ожидает, что карта в средстве чтения используется одним или несколькими другими приложениями, но может быть подключено к в общем режиме. Если этот бит задан, предполагается SCARD_STATE_PRESENT.
SCARD_STATE_MUTE
Приложение ожидает, что в средстве чтения не отвечает карта.
SCARD_STATE_UNPOWERED
Это означает, что карта в читателе не была выключена.

dwEventState

Текущее состояниесредства чтения, известное интеллектуальным карта resource manager. Это поле может принимать любое из следующих значений в сочетании в виде битовой маски.

Значение Значение
SCARD_STATE_IGNORE
Этот модуль чтения следует игнорировать.
SCARD_STATE_CHANGED
Существует разница между состоянием, которое считается приложением, и состоянием, известным диспетчером ресурсов. Если этот бит задан, приложение может предположить, что в этом средстве чтения произошло значительное изменение состояния.
SCARD_STATE_UNKNOWN
Указанное имя средства чтения не распознается диспетчером ресурсов. Если этот бит задан, то также будут заданы SCARD_STATE_CHANGED и SCARD_STATE_IGNORE.
SCARD_STATE_UNAVAILABLE
Фактическое состояние этого средства чтения недоступно. Если этот бит задан, все следующие биты будут ясны.
SCARD_STATE_EMPTY
В читателе нет карта. Если этот бит задан, все следующие биты будут ясными.
SCARD_STATE_PRESENT
В читателе есть карта.
SCARD_STATE_ATRMATCH
Существует карта в средстве чтения с ATR, соответствующим одной из целевых карт. Если этот бит задан, также будет задан SCARD_STATE_PRESENT. Этот бит возвращается только в функции SCardLocateCards .
SCARD_STATE_EXCLUSIVE
Карта в средстве чтения выделяется для монопольного использования другим приложением. Если этот бит задан, также будет задан SCARD_STATE_PRESENT.
SCARD_STATE_INUSE
Карта в средстве чтения используется одним или несколькими другими приложениями, но может быть подключен к в общем режиме. Если этот бит задан, также будет задан SCARD_STATE_PRESENT.
SCARD_STATE_MUTE
Читатель не отвечает карта.
SCARD_STATE_UNPOWERED
Это означает, что карта в читателе не была выключена.

cbAtr

Число байтов в возвращенном ATR.

rgbAtr[36]

ATR вставленного карта с дополнительными байтами выравнивания.

Комментарии

Примечание

Заголовок winscard.h определяет SCARD_READERSTATE как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winscard.h

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

SCardGetStatusChange

SCardLocateCards