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;
Membri
SupportedProtocols
Deve essere impostato su una maschera di bit che riflette i protocolli asincroni o sincroni supportati dal lettore di schede e dal driver lettore di schede. Questo membro è obbligatorio.
Reserved
Riservato per l'uso del 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 chiave e le operazioni crittografiche |
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ò inghiottire 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 | Nessuna smart card viene inserita. |
SCARD_PRESENT | Viene inserita una smart card. |
SCARD_SWALLOWED | Una smart card viene inserita e il lettore lo ha ingoiato. |
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 e è stato selezionato un protocollo. |
L'accesso a questo campo deve essere sequenziato usando il blocco di selezione a cui punta il OsData->membro 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 di porta |
Lettore parallelo | Numero di porta |
Lettore SCSI | SCSI ID |
Lettore di tastiera | 0 |
Lettore USB | Numero dispositivo |
Per altre informazioni, vedere la parte 3 della specifica di interoperabilità per i sistemi ICC e 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 è 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 le dimensioni massime 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 frequenze di dati, in bit al secondo, supportate 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 clock, 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 di 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'uso del sistema.
Osservazioni
Questa struttura deve essere gestita dal driver del lettore di smart card.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | smclib.h (include Smclib.h) |