структура 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) |