structure SCARD_READER_CAPABILITIES (smclib.h)
La structure SCARD_READER_CAPABILITIES contient des informations d’état sur le lecteur de carte intelligent.
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 carte et carte pilote de lecteur. Ce membre est obligatoire.
Reserved
Réservé pour le système.
ReaderType
Ce membre contient le type de lecteur et est obligatoire. 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 de matériel clé et les opérations de chiffrement |
SCARD_READER_TYPE_VENDOR | Lecteur qui utilise un bus fournisseur propriétaire |
MechProperties
Contient une valeur qui est 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 de déglutition. |
SCARD_READER_EJECTS | Le lecteur peut éjecter le carte intelligent. |
SCARD_READER_CONFISCATES | Le lecteur peut avaler le carte intelligent. |
CurrentState
Ce membre contient les status du carte et est obligatoire. 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 le status. |
SCARD_ABSENT | Aucune carte intelligente n’est insérée. |
SCARD_PRESENT | Un carte intelligent est inséré. |
SCARD_SWALLOWED | Un carte intelligent est inséré et le lecteur l’a avalé. |
SCARD_POWERED | Le carte intelligent est activé, mais le lecteur ne reconnaît pas son mode. |
SCARD_NEGOTIABLE | Un carte intelligent est inséré et attend la négociation du protocole. |
SCARD_SPECIFIC | Un carte intelligent est inséré 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 intelligent, comme indiqué dans le tableau suivant.
Type de carte intelligente | 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 | ID SCSI |
Lecteur 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 d’ordinateurs 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ée au format little endian. Par exemple, 3,58 MHz est encodé en 3580. Ce membre est obligatoire.
CLKFrequency.Max
Contient la fréquence d’horloge maximale à laquelle le lecteur peut s’exécuter, en kilohertz, et encodée dans un format peu endian. Ce membre est obligatoire.
DataRate
Structure avec les membres suivants :
DataRate.Default
Contient le débit de données standard du lecteur, en unités de bits par seconde et encodé dans un format peu endian. Ce membre est obligatoire.
DataRate.Max
Contient le débit de données maximal du lecteur, en unités de bits par seconde et encodé dans un format peu endian. Ce membre est obligatoire.
MaxIFSD
Contient la taille maximale de la mémoire tampon du lecteur. Cette valeur informe le carte intelligent au début d’une transmission T=1 du nombre maximal d’octets pouvant être reçus dans un paquet. Ce membre est obligatoire.
PowerMgmtSupport
Indique le type de gestion de l’alimentation pris en charge par le carte. La valeur zéro indique que le carte intelligent ne prend pas en charge la gestion de l’alimentation.
CardConfiscated
Si la valeur EST TRUE, indique que la carte intelligente a été confisquée.
DataRatesSupported
Structure avec les membres suivants :
DataRatesSupported.List
Contient une liste de débits de données, en bits par seconde, qui sont 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 débits de données pris en charge. Si le lecteur ne prend pas en charge des débits de données différents, 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é pour le système.
Remarques
Cette structure doit être gérée par le pilote de lecteur smart carte.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | smclib.h (inclure Smclib.h) |