struttura SCARD_READER_CAPABILITIES (smclib.h)

La struttura SCARD_READER_CAPABILITIES contiene informazioni sullo stato relative al lettore di smart card.

Sintassi

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;

Members

SupportedProtocols

Deve essere impostato su una maschera di bit che riflette i protocolli asincroni o sincroni supportati dal lettore di schede e dal driver del lettore di schede. Questo membro è obbligatorio.

Reserved

Riservato per l'utilizzo nel sistema.

ReaderType

Questo membro contiene il tipo di lettore ed è obbligatorio. Questo membro può avere uno dei valori nella tabella seguente.

Valore Significato
SCARD_READER_TYPE_SERIAL Lettore seriale
SCARD_READER_TYPE_PCMCIA Lettore PCMCIA
SCARD_READER_TYPE_KEYBOARD Lettore collegato tramite tastiera
SCARD_READER_TYPE_USB Lettore USB
SCARD_READER_TYPE_PARALELL Lettore parallelo
SCARD_READER_TYPE_SCSI Lettore SCSI
SCARD_READER_TYPE_IDE Lettore IDE
SCARD_READER_TYPE_TPM Lettore che usa un chip TPM per l'archiviazione dei materiali delle chiavi e le operazioni di crittografia
SCARD_READER_TYPE_VENDOR Lettore che usa un bus fornitore proprietario

MechProperties

Contiene un valore formato utilizzando un OR bit per bit di tutte le proprietà del lettore applicabili illustrate nella tabella seguente. Questo membro è facoltativo.

Valore Significato
SCARD_READER_SWALLOWS Il lettore ha un meccanismo di inghiottimento.
SCARD_READER_EJECTS Il lettore può espellere la smart card.
SCARD_READER_CONFISCATES Il lettore può ingoiare la smart card.

CurrentState

Questo membro contiene lo stato della scheda ed è obbligatorio. Questo membro può avere uno dei valori elencati nella tabella seguente.

Stato Significato
SCARD_UNKNOWN Il lettore non dispone di informazioni sullo stato.
SCARD_ABSENT Non viene inserita alcuna smart card.
SCARD_PRESENT Viene inserita una smart card.
SCARD_SWALLOWED Una smart card viene inserita e il lettore l'ha ingoiata.
SCARD_POWERED La smart card è attivata, ma il lettore non riconosce la modalità.
SCARD_NEGOTIABLE Una smart card viene inserita e attende la negoziazione del protocollo.
SCARD_SPECIFIC Viene inserita una smart card ed è stato selezionato un protocollo.
 

L'accesso a questo campo deve essere sequenziato usando il blocco spin a cui punta il membro OsData-SpinLock> di SMARTCARD_EXTENSION.

Channel

Contiene il numero di canale logico. Questo membro è facoltativo. Il significato esatto di questo membro dipende dal tipo di smart card, come illustrato nella tabella seguente.

Tipo di smart card Significato del valore nel campo del canale
Lettore seriale Numero porta
Lettore parallelo Numero porta
Lettore SCSI ID SCSI
Lettore di tastiera 0
Lettore USB Numero dispositivo
 

Per altre informazioni, vedere la parte 3 della specifica di interoperabilità per iccs e sistemi di personal computer.

CLKFrequency

Struttura con i membri seguenti:

CLKFrequency.Default

Contiene la frequenza di clock standard in cui viene eseguito il lettore, in kilohertz, e codificata in formato little-endian. Ad esempio, 3,58 MHz viene codificato come 3580. Questo membro è obbligatorio.

CLKFrequency.Max

Contiene la frequenza massima di clock in cui il lettore può essere eseguito, in kilohertz, e codificato in formato little-endian. Questo membro è obbligatorio.

DataRate

Struttura con i membri seguenti:

DataRate.Default

Contiene la frequenza dei dati standard del lettore, in unità di bit al secondo e codificata in formato little-endian. Questo membro è obbligatorio.

DataRate.Max

Contiene la velocità massima dei dati del lettore, in unità di bit al secondo e codificata in formato little-endian. Questo membro è obbligatorio.

MaxIFSD

Contiene la dimensione massima del buffer del lettore. Questo valore informa la smart card all'inizio di una trasmissione T=1 del numero massimo di byte che possono essere ricevuti in un pacchetto. Questo membro è obbligatorio.

PowerMgmtSupport

Indica il tipo di risparmio energia supportato dalla scheda. Il valore zero indica che la smart card non supporta il risparmio energia.

CardConfiscated

Se TRUE, indica che la smart card è stata sequestrata.

DataRatesSupported

Struttura con i membri seguenti:

DataRatesSupported.List

Contiene un elenco di velocità dei dati, in bit al secondo, supportati dal lettore. Questo membro viene usato con la richiesta PTS. Il driver reader imposta in genere questo membro su un puntatore a una matrice statica di valori lunghi senza segno che contengono le frequenze di dati supportate. Se il lettore non supporta frequenze di dati diverse, lasciare vuoto questo membro. Questo membro è facoltativo.

DataRatesSupported.Entries

Contiene il numero di voci dell'elenco collegato in DataRatesSupported.List. Questo membro è facoltativo.

_DataRatesSupported

Struttura con i membri seguenti:

CLKFrequenciesSupported

Struttura con i membri seguenti:

CLKFrequenciesSupported.List

Contiene un elenco di frequenze di orologio, in kilohertz, supportate dal lettore. Questo membro viene usato con la richiesta PTS. Il driver imposta in genere questo membro su un puntatore a una matrice statica di valori lunghi senza segno che contengono le frequenze di clock supportate. Se il lettore non supporta frequenze di clock diverse, lasciare vuoto questo membro. Questo membro è facoltativo.

CLKFrequenciesSupported.Entries

Contiene il numero di voci dell'elenco collegato di CLKFrquenciesSupported.List. Questo membro è facoltativo.

_CLKFrequenciesSupported

Struttura con i membri seguenti:

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

Riservato per l'utilizzo nel sistema.

Commenti

Questa struttura deve essere gestita dal driver lettore smart card.

Requisiti

Requisito Valore
Intestazione smclib.h (includere Smclib.h)