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