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


структура 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 спецификации взаимодействия для ICCs и персональных компьютерных систем.

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. Драйвер обычно задает этому элементу указатель на статический массив неподписанных длинных значений, содержащих поддерживаемые частоты часов. Если средство чтения не поддерживает разные частоты часов, оставьте этот элемент пустым. Этот элемент является необязательным.

CLKFrequenciesSupported.Entries

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

_CLKFrequenciesSupported

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

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

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

Замечания

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

Требования

Требование Ценность
заголовка smclib.h (include Smclib.h)