structure SCARD_READER_CAPABILITIES (smclib.h)
La structure SCARD_READER_CAPABILITIES contient des informations d’état sur le lecteur de carte à puce.
Syntaxe
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;
Membres
SupportedProtocols
Doit être défini sur un masque de bits qui reflète les protocoles asynchrones ou synchrones pris en charge par le lecteur de carte et le pilote de lecteur de carte. Ce membre est requis.
Reserved
Réservé à l’utilisation du système.
ReaderType
Ce membre contient le type de lecteur et est requis. Ce membre peut avoir l’une des valeurs du tableau suivant.
Valeur | Signification |
---|---|
SCARD_READER_TYPE_SERIAL | Lecteur série |
SCARD_READER_TYPE_PCMCIA | Lecteur PCMCIA |
SCARD_READER_TYPE_KEYBOARD | Lecteur attaché au clavier |
SCARD_READER_TYPE_USB | Lecteur USB |
SCARD_READER_TYPE_PARALELL | Lecteur parallèle |
SCARD_READER_TYPE_SCSI | Lecteur SCSI |
SCARD_READER_TYPE_IDE | Lecteur IDE |
SCARD_READER_TYPE_TPM | Lecteur qui utilise une puce TPM pour le stockage matériel de clé et les opérations de chiffrement |
SCARD_READER_TYPE_VENDOR | Lecteur qui utilise un bus fournisseur propriétaire |
MechProperties
Contient une valeur formée en prenant une or au niveau du bit de toutes les propriétés de lecteur applicables indiquées dans le tableau suivant. Ce membre est facultatif.
Valeur | Signification |
---|---|
SCARD_READER_SWALLOWS | Le lecteur a un mécanisme d’avalage. |
SCARD_READER_EJECTS | Le lecteur peut éjecter la carte à puce. |
SCARD_READER_CONFISCATES | Le lecteur peut avaler la carte à puce. |
CurrentState
Ce membre contient l’état de la carte et est requis. Ce membre peut avoir l’une des valeurs répertoriées dans le tableau suivant.
Statut | Signification |
---|---|
SCARD_UNKNOWN | Le lecteur n’a pas d’informations sur l’état. |
SCARD_ABSENT | Aucune carte à puce n’est insérée. |
SCARD_PRESENT | Une carte à puce est insérée. |
SCARD_SWALLOWED | Une carte à puce est insérée et le lecteur l’a avalé. |
SCARD_POWERED | La carte à puce est activée, mais le lecteur ne reconnaît pas son mode. |
SCARD_NEGOTIABLE | Une carte à puce est insérée et attend la négociation de protocole. |
SCARD_SPECIFIC | Une carte à puce est insérée et un protocole a été sélectionné. |
L’accès à ce champ doit être séquentielisé à l’aide du verrou de rotation pointé par le membre OsData->SpinLock de SMARTCARD_EXTENSION.
Channel
Contient le numéro de canal logique. Ce membre est facultatif. La signification exacte de ce membre dépend du type de carte à puce, comme indiqué dans le tableau suivant.
Type de carte à puce | Signification de la valeur dans le champ de canal |
---|---|
Lecteur série | Numéro de port |
Lecteur parallèle | Numéro de port |
Lecteur SCSI | SCSI ID |
Lecteur de clavier | 0 |
Lecteur USB | Numéro d’appareil |
Pour plus d’informations, consultez la partie 3 de la spécification d’interopérabilité pour les ICCS et les systèmes informatiques personnels.
CLKFrequency
Structure avec les membres suivants :
CLKFrequency.Default
Contient la fréquence d’horloge standard à laquelle le lecteur s’exécute, en kilohertz et encodé au format little-endian. Par exemple, 3,58 MHz est encodé en 3580. Ce membre est requis.
CLKFrequency.Max
Contient la fréquence d’horloge maximale à laquelle le lecteur peut s’exécuter, en kilohertz et encodé au format little-endian. Ce membre est requis.
DataRate
Structure avec les membres suivants :
DataRate.Default
Contient le taux de données standard du lecteur, en unités de bits par seconde et encodé au format little-endian. Ce membre est requis.
DataRate.Max
Contient le taux de données maximal du lecteur, en unités de bits par seconde et encodé au format little-endian. Ce membre est requis.
MaxIFSD
Contient la taille maximale de la mémoire tampon du lecteur. Cette valeur informe la carte à puce au début d’une transmission T=1 du nombre maximal d’octets pouvant être reçus dans un paquet. Ce membre est requis.
PowerMgmtSupport
Indique le type de gestion de l’alimentation pris en charge par la carte. La valeur zéro indique que la carte à puce ne prend pas en charge la gestion de l’alimentation.
CardConfiscated
Si VRAI, indique que la carte à puce a été confisquée.
DataRatesSupported
Structure avec les membres suivants :
DataRatesSupported.List
Contient une liste des taux de données, en bits par seconde, pris en charge par le lecteur. Ce membre est utilisé avec la requête PTS. Le pilote de lecteur définit généralement ce membre sur un pointeur vers un tableau statique de valeurs longues non signées qui contiennent les taux de données pris en charge. Si le lecteur ne prend pas en charge les différents taux de données, laissez ce membre vide. Ce membre est facultatif.
DataRatesSupported.Entries
Contient le nombre d’entrées de liste liée dans DataRatesSupported.List. Ce membre est facultatif.
_DataRatesSupported
Structure avec les membres suivants :
CLKFrequenciesSupported
Structure avec les membres suivants :
CLKFrequenciesSupported.List
Contient une liste de fréquences d’horloge, en kilohertz, prises en charge par le lecteur. Ce membre est utilisé avec la requête PTS. Le pilote définit généralement ce membre sur un pointeur vers un tableau statique de valeurs longues non signées qui contiennent les fréquences d’horloge prises en charge. Si le lecteur ne prend pas en charge différentes fréquences d’horloge, laissez ce membre vide. Ce membre est facultatif.
CLKFrequenciesSupported.Entries
Contient le nombre d’entrées de liste liée de CLKFrquenciesSupported.List. Ce membre est facultatif.
_CLKFrequenciesSupported
Structure avec les membres suivants :
Reserved1[100 - sizeof(ULONG)- sizeof(struct _DataRatesSupported)- sizeof(struct _CLKFrequenciesSupported)]
Réservé à l’utilisation du système.
Remarques
Cette structure doit être conservée par le pilote lecteur de carte à puce.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | smclib.h (include Smclib.h) |