Partager via


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)