Поделиться через


структура SCARD_READER_CAPABILITIES (smclib.h)

Структура SCARD_READER_CAPABILITIES содержит сведения о состоянии средства чтения смарт-карта.

Синтаксис

typedef struct _SCARD_READER_CAPABILITIES {
  ULONG                    SupportedProtocols;
  ULONG                    Reserved;
  ULONG                    ReaderType;
  ULONG                    MechProperties;
  ULONG                    CurrentState;
  ULONG                    Channel;
  struct {
    ULONG Default;
    ULONG Max;
  } CLKFrequency;
  struct {
    ULONG Default;
    ULONG Max;
  } DataRate;
  ULONG                    MaxIFSD;
  ULONG                    PowerMgmtSupport;
  ULONG                    CardConfiscated;
  struct {
    PULONG List;
    UCHAR  Entries;
  } DataRatesSupported;
  _DataRatesSupported      _DataRatesSupported;
  struct {
    PULONG List;
    UCHAR  Entries;
  } CLKFrequenciesSupported;
  _CLKFrequenciesSupported _CLKFrequenciesSupported;
  UCHAR                    Reserved1[100 - sizeof(ULONG)- sizeof(struct _DataRatesSupported)- sizeof(struct _CLKFrequenciesSupported)];
} SCARD_READER_CAPABILITIES, *PSCARD_READER_CAPABILITIES;

Члены

SupportedProtocols

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

Reserved

Зарезервировано для системного использования.

ReaderType

Этот элемент содержит тип средства чтения и является обязательным. Этот элемент может иметь одно из значений в следующей таблице.

Значение Значение
SCARD_READER_TYPE_SERIAL Последовательный модуль чтения
SCARD_READER_TYPE_PCMCIA Средство чтения PCMCIA
SCARD_READER_TYPE_KEYBOARD Средство чтения, подключенное к клавиатуре
SCARD_READER_TYPE_USB USB-устройство чтения
SCARD_READER_TYPE_PARALELL Параллельное средство чтения
SCARD_READER_TYPE_SCSI Средство чтения SCSI
SCARD_READER_TYPE_IDE Средство чтения интегрированной среды разработки
SCARD_READER_TYPE_TPM Средство чтения, использующее микросхему доверенного платформенного модуля для хранения материалов ключей и криптографических операций
SCARD_READER_TYPE_VENDOR Читатель, использующий собственную шину поставщика

MechProperties

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

Значение Значение
SCARD_READER_SWALLOWS Читатель имеет механизм глотания.
SCARD_READER_EJECTS Средство чтения может извлечь смарт-карта.
SCARD_READER_CONFISCATES Читатель может проглотить смарт-карта.

CurrentState

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

Состояние Значение
SCARD_UNKNOWN Читатель не имеет сведений о состоянии.
SCARD_ABSENT Смарт-карта не вставляется.
SCARD_PRESENT Вставляется смарт-карта.
SCARD_SWALLOWED Вставляется смарт-карта, и читатель проглотил его.
SCARD_POWERED Интеллектуальный карта включен, но средство чтения не распознает его режим.
SCARD_NEGOTIABLE Смарт-карта вставляется и ожидает согласования протокола.
SCARD_SPECIFIC Вставляется смарт-карта и выбран протокол.
 

Доступ к этому полю должен быть последовательно инициализирован с помощью блокировки спина, на которую указывает элемент OsData-SpinLock>SMARTCARD_EXTENSION.

Channel

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

Тип смарт-карта Значение значения в поле канала
Последовательный модуль чтения Номер порта
Параллельное средство чтения Номер порта
Средство чтения SCSI Идентификатор SCSI
Средство чтения с клавиатуры 0
USB-устройство чтения Номер устройства
 

Дополнительные сведения см. в разделе Часть 3 спецификации взаимодействия для ICC и персональных компьютерных систем.

CLKFrequency

Структура со следующими элементами:

CLKFrequency.Default

Содержит стандартную тактовую частоту, с которой выполняется средство чтения в килогерцах и закодировано в формате с малым байтом. Например, 3,58 МГц кодируется как 3580. Этот элемент является обязательным.

CLKFrequency.Max

Содержит максимальную тактовую частоту, с которой средство чтения может выполняться в килогерцах и закодировано в формате с маленьким байтом. Этот элемент является обязательным.

DataRate

Структура со следующими элементами:

DataRate.Default

Содержит стандартную скорость передачи данных средства чтения в единицах битов в секунду и закодировано в формате с маленьким байтом. Этот элемент является обязательным.

DataRate.Max

Содержит максимальную скорость данных средства чтения в единицах битов в секунду и закодировано в формате с малым байтом. Этот элемент является обязательным.

MaxIFSD

Содержит максимальный размер буфера средства чтения. Это значение информирует смарт-карта в начале передачи T=1 о максимальном количестве байтов, которые можно получить в одном пакете. Этот элемент является обязательным.

PowerMgmtSupport

Указывает тип управления питанием, поддерживаемый карта. Нулевое значение указывает, что интеллектуальный карта не поддерживает управление питанием.

CardConfiscated

Значение TRUE указывает, что смарт-карта был конфискован.

DataRatesSupported

Структура со следующими элементами:

DataRatesSupported.List

Содержит список скоростей данных в битах в секунду, поддерживаемых средством чтения. Этот элемент используется с запросом PTS. Драйвер средства чтения обычно задает этому элементу указатель на статический массив длинных значений без знака, содержащих поддерживаемые скорости данных. Если модуль чтения не поддерживает разные скорости данных, оставьте этот элемент пустым. Этот член является необязательным.

DataRatesSupported.Entries

Содержит количество связанных записей списка в DataRatesSupported.List. Этот член является необязательным.

_DataRatesSupported

Структура со следующими элементами:

CLKFrequenciesSupported

Структура со следующими элементами:

CLKFrequenciesSupported.List

Содержит список частот часов в килогерцах, поддерживаемых средством чтения. Этот элемент используется с запросом PTS. Драйвер обычно задает этому элементу указатель на статический массив значений без знака long, содержащих поддерживаемые частоты часов. Если модуль чтения не поддерживает разные частоты часов, оставьте этот элемент пустым. Этот член является необязательным.

CLKFrequenciesSupported.Entries

Содержит количество связанных записей списка CLKFrquenciesSupported.List. Этот член является необязательным.

_CLKFrequenciesSupported

Структура со следующими элементами:

Reserved1[100 - sizeof(ULONG)- sizeof(struct _DataRatesSupported)- sizeof(struct _CLKFrequenciesSupported)]

Зарезервировано для системного использования.

Комментарии

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

Требования

Требование Значение
Заголовок smclib.h (включая Smclib.h)