Freigeben über


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)