структура SCARD_READERSTATEA (winscard.h)
Структура SCARD_READERSTATE используется функциями для отслеживания смарт-карт в модулях чтения.
Синтаксис
typedef struct {
LPCSTR szReader;
LPVOID pvUserData;
DWORD dwCurrentState;
DWORD dwEventState;
DWORD cbAtr;
BYTE rgbAtr[36];
} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;
Члены
szReader
Указатель на имя отслеживаемого средства чтения.
Задайте для этого элемента значение "\\? PnP?\Notification" и значения всех остальных элементов равны нулю, чтобы получать уведомления о поступлении нового интеллектуального средства чтения карта.
pvUserData
Не используется подсистемой интеллектуального карта. Этот элемент используется приложением.
dwCurrentState
Текущее состояние средства чтения, как показано приложением. Это поле может принимать любое из следующих значений в сочетании в виде битовой маски.
Значение | Значение |
---|---|
|
Приложение не знает о текущем состоянии и хотело бы знать. Использование этого значения приводит к немедленному возвращению из служб мониторинга перехода состояния. Это представлено всеми битами, равными нулю. |
|
Приложение не заинтересовано в этом средстве чтения и не должно учитываться при выполнении операций мониторинга. Если это значение бита задано, все остальные биты игнорируются. |
|
Приложение ожидает, что это средство чтения недоступно для использования. Если этот бит задан, все следующие биты игнорируются. |
|
Приложение ожидает, что в средстве чтения нет карта. Если этот бит задан, все следующие биты игнорируются. |
|
Приложение ожидает, что в средстве чтения есть карта. |
|
Приложение ожидает, что в средстве чтения есть карта с ATR, который соответствует одной из целевых карт. Если этот бит задан, предполагается SCARD_STATE_PRESENT. Этот бит не имеет значения для SCardGetStatusChange помимо SCARD_STATE_PRESENT. |
|
Приложение ожидает, что карта в средстве чтения будет выделена для монопольного использования другим приложением. Если этот бит задан, предполагается SCARD_STATE_PRESENT. |
|
Приложение ожидает, что карта в средстве чтения используется одним или несколькими другими приложениями, но может быть подключено к в общем режиме. Если этот бит задан, предполагается SCARD_STATE_PRESENT. |
|
Приложение ожидает, что в средстве чтения не отвечает карта. |
|
Это означает, что карта в читателе не была выключена. |
dwEventState
Текущее состояниесредства чтения, известное интеллектуальным карта resource manager. Это поле может принимать любое из следующих значений в сочетании в виде битовой маски.
Значение | Значение |
---|---|
|
Этот модуль чтения следует игнорировать. |
|
Существует разница между состоянием, которое считается приложением, и состоянием, известным диспетчером ресурсов. Если этот бит задан, приложение может предположить, что в этом средстве чтения произошло значительное изменение состояния. |
|
Указанное имя средства чтения не распознается диспетчером ресурсов. Если этот бит задан, то также будут заданы SCARD_STATE_CHANGED и SCARD_STATE_IGNORE. |
|
Фактическое состояние этого средства чтения недоступно. Если этот бит задан, все следующие биты будут ясны. |
|
В читателе нет карта. Если этот бит задан, все следующие биты будут ясными. |
|
В читателе есть карта. |
|
Существует карта в средстве чтения с ATR, соответствующим одной из целевых карт. Если этот бит задан, также будет задан SCARD_STATE_PRESENT. Этот бит возвращается только в функции SCardLocateCards . |
|
Карта в средстве чтения выделяется для монопольного использования другим приложением. Если этот бит задан, также будет задан SCARD_STATE_PRESENT. |
|
Карта в средстве чтения используется одним или несколькими другими приложениями, но может быть подключен к в общем режиме. Если этот бит задан, также будет задан SCARD_STATE_PRESENT. |
|
Читатель не отвечает карта. |
|
Это означает, что карта в читателе не была выключена. |
cbAtr
Число байтов в возвращенном ATR.
rgbAtr[36]
ATR вставленного карта с дополнительными байтами выравнивания.
Комментарии
Примечание
Заголовок winscard.h определяет SCARD_READERSTATE как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winscard.h |