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) |