SCARD_READER_CAPABILITIES-Struktur (smclib.h)
Die SCARD_READER_CAPABILITIES-Struktur enthält Zustandsinformationen zum Smart Karte Reader.
Syntax
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;
Member
SupportedProtocols
Muss auf eine Bitmaske festgelegt werden, die die asynchronen oder synchronen Protokolle widerspiegelt, die vom Karte Leser und Karte Lesertreiber unterstützt werden. Dieses Element ist erforderlich.
Reserved
Ist für das System reserviert.
ReaderType
Dieses Element enthält den Lesertyp und ist erforderlich. Dieses Element kann über einen der Werte in der folgenden Tabelle verfügen.
Wert | Bedeutung |
---|---|
SCARD_READER_TYPE_SERIAL | Serieller Reader |
SCARD_READER_TYPE_PCMCIA | PCMCIA-Reader |
SCARD_READER_TYPE_KEYBOARD | Lesegerät mit Tastaturanfügung |
SCARD_READER_TYPE_USB | USB-Reader |
SCARD_READER_TYPE_PARALELL | Parallelleser |
SCARD_READER_TYPE_SCSI | SCSI-Reader |
SCARD_READER_TYPE_IDE | IDE-Reader |
SCARD_READER_TYPE_TPM | Leser, der einen TPM-Chip für die Speicherung von Schlüsselmaterial und kryptografische Vorgänge verwendet |
SCARD_READER_TYPE_VENDOR | Reader, der einen proprietären Anbieterbus verwendet |
MechProperties
Enthält einen Wert, der durch die Verwendung eines bitweisen OR aller anwendbaren Lesereigenschaften in der folgenden Tabelle gebildet wird. Dieses Member ist optional.
Wert | Bedeutung |
---|---|
SCARD_READER_SWALLOWS | Der Leser verfügt über einen Schluckmechanismus. |
SCARD_READER_EJECTS | Der Leser kann die intelligente Karte auswerfen. |
SCARD_READER_CONFISCATES | Der Leser kann die intelligente Karte schlucken. |
CurrentState
Dieses Element enthält die status des Karte und ist erforderlich. Dieses Element kann über einen der in der folgenden Tabelle aufgeführten Werte verfügen.
Status | Bedeutung |
---|---|
SCARD_UNKNOWN | Der Leser verfügt nicht über Informationen zum status. |
SCARD_ABSENT | Es wird kein smarter Karte eingefügt. |
SCARD_PRESENT | Es wird eine intelligente Karte eingefügt. |
SCARD_SWALLOWED | Es wird eine intelligente Karte eingefügt, die der Leser verschluckt hat. |
SCARD_POWERED | Die intelligente Karte ist aktiviert, aber der Leser erkennt seinen Modus nicht. |
SCARD_NEGOTIABLE | Es wird eine intelligente Karte eingefügt, die auf die Protokollverhandlung wartet. |
SCARD_SPECIFIC | Es wird eine intelligente Karte eingefügt, und ein Protokoll wurde ausgewählt. |
Der Zugriff auf dieses Feld muss sequenziell mithilfe der Drehsperre erfolgen, auf die das OsData-SpinLock-Element> von SMARTCARD_EXTENSION verweist.
Channel
Enthält die logische Kanalnummer. Dieses Member ist optional. Die genaue Bedeutung dieses Elements hängt vom Typ der intelligenten Karte ab, wie in der folgenden Tabelle gezeigt.
Art der intelligenten Karte | Bedeutung des Werts im Kanalfeld |
---|---|
Serieller Reader | Portnummer |
Parallelleser | Portnummer |
SCSI-Reader | SCSI-ID |
Tastaturleser | 0 |
USB-Reader | Gerätenummer |
Weitere Informationen finden Sie unter Teil 3 der Interoperabilitätsspezifikation für ICCs und Personal Computer Systems.
CLKFrequency
Eine Struktur mit den folgenden Elementen:
CLKFrequency.Default
Enthält die Standardtaktfrequenz, mit der der Leser ausgeführt wird, in Kilohertz und codiert im Little-Endian-Format. Beispielsweise ist 3,58 MHz als 3580 codiert. Dieses Element ist erforderlich.
CLKFrequency.Max
Enthält die maximale Taktfrequenz, mit der der Leser ausgeführt werden kann, in Kilohertz und codiert im Little-Endian-Format. Dieses Element ist erforderlich.
DataRate
Eine Struktur mit den folgenden Elementen:
DataRate.Default
Enthält die Standarddatenrate des Lesegeräts in Biteinheiten pro Sekunde und codiert im Little-Endian-Format. Dieses Element ist erforderlich.
DataRate.Max
Enthält die maximale Datenrate des Lesers in Biteinheiten pro Sekunde und codiert im Little-Endian-Format. Dieses Element ist erforderlich.
MaxIFSD
Enthält die maximale Puffergröße des Lesers. Dieser Wert informiert die smarte Karte zu Beginn einer T=1-Übertragung über die maximale Anzahl von Bytes, die in einem Paket empfangen werden können. Dieses Element ist erforderlich.
PowerMgmtSupport
Gibt den Typ der Energieverwaltung an, die vom Karte unterstützt wird. Der Wert 0 gibt an, dass die intelligente Karte die Energieverwaltung nicht unterstützt.
CardConfiscated
Wenn TRUE, gibt an, dass die intelligente Karte beschlagnahmt wurde.
DataRatesSupported
Eine Struktur mit den folgenden Elementen:
DataRatesSupported.List
Enthält eine Liste der Datenraten in Bits pro Sekunde, die vom Leser unterstützt werden. Dieses Element wird mit der PTS-Anforderung verwendet. Der Lesertreiber legt diesen Member in der Regel auf einen Zeiger auf ein statisches Array von unsignierten Long-Werten fest, die die unterstützten Datenraten enthalten. Wenn der Leser keine unterschiedlichen Datenraten unterstützt, lassen Sie diesen Member leer. Dieses Member ist optional.
DataRatesSupported.Entries
Enthält die Anzahl der verknüpften Listeneinträge in DataRatesSupported.List. Dieses Member ist optional.
_DataRatesSupported
Eine Struktur mit den folgenden Elementen:
CLKFrequenciesSupported
Eine Struktur mit den folgenden Elementen:
CLKFrequenciesSupported.List
Enthält eine Liste der Taktfrequenzen in Kilohertz, die vom Leser unterstützt werden. Dieses Element wird mit der PTS-Anforderung verwendet. Der Treiber legt diesen Member normalerweise auf einen Zeiger auf ein statisches Array von unsignierten langen Werten fest, die die unterstützten Taktfrequenzen enthalten. Wenn der Leser keine unterschiedlichen Taktfrequenzen unterstützt, lassen Sie diesen Member leer. Dieses Member ist optional.
CLKFrequenciesSupported.Entries
Enthält die Anzahl der verknüpften Listeneinträge von CLKFrquenciesSupported.List. Dieses Member ist optional.
_CLKFrequenciesSupported
Eine Struktur mit den folgenden Elementen:
Reserved1[100 - sizeof(ULONG)- sizeof(struct _DataRatesSupported)- sizeof(struct _CLKFrequenciesSupported)]
Ist für das System reserviert.
Hinweise
Diese Struktur muss vom Smart Karte Reader-Treiber verwaltet werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | smclib.h (include Smclib.h) |