estructura SCARD_READER_CAPABILITIES (smclib.h)
La estructura de SCARD_READER_CAPABILITIES contiene información de estado sobre el lector de tarjetas inteligentes.
Sintaxis
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;
Miembros
SupportedProtocols
Debe establecerse en una máscara de bits que refleje los protocolos asincrónicos o sincrónicos que admiten el controlador lector de tarjetas y lector de tarjetas. Este miembro es obligatorio.
Reserved
Reservado para uso del sistema.
ReaderType
Este miembro contiene el tipo de lector y es necesario. Este miembro puede tener uno de los valores de la tabla siguiente.
Valor | Significado |
---|---|
SCARD_READER_TYPE_SERIAL | Lector serie |
SCARD_READER_TYPE_PCMCIA | Lector de PCMCIA |
SCARD_READER_TYPE_KEYBOARD | Lector conectado con teclado |
SCARD_READER_TYPE_USB | Lector USB |
SCARD_READER_TYPE_PARALELL | Lector paralelo |
SCARD_READER_TYPE_SCSI | Lector SCSI |
SCARD_READER_TYPE_IDE | Lector del IDE |
SCARD_READER_TYPE_TPM | Lector que usa un chip de TPM para el almacenamiento de material clave y las operaciones criptográficas |
SCARD_READER_TYPE_VENDOR | Lector que usa un bus de proveedor propietario |
MechProperties
Contiene un valor formado tomando un OR bit a bit de todas las propiedades de lector aplicables que se muestran en la tabla siguiente. Este miembro es opcional.
Valor | Significado |
---|---|
SCARD_READER_SWALLOWS | El lector tiene un mecanismo de ingestión. |
SCARD_READER_EJECTS | El lector puede expulsar la tarjeta inteligente. |
SCARD_READER_CONFISCATES | El lector puede tragar la tarjeta inteligente. |
CurrentState
Este miembro contiene el estado de la tarjeta y es obligatorio. Este miembro puede tener uno de los valores enumerados en la tabla siguiente.
Status | Significado |
---|---|
SCARD_UNKNOWN | El lector no tiene información sobre el estado. |
SCARD_ABSENT | No se inserta ninguna tarjeta inteligente. |
SCARD_PRESENT | Se inserta una tarjeta inteligente. |
SCARD_SWALLOWED | Se inserta una tarjeta inteligente y el lector lo ha ingerido. |
SCARD_POWERED | La tarjeta inteligente está activada, pero el lector no reconoce su modo. |
SCARD_NEGOTIABLE | Se inserta una tarjeta inteligente y espera la negociación del protocolo. |
SCARD_SPECIFIC | Se inserta una tarjeta inteligente y se ha seleccionado un protocolo. |
El acceso a este campo se debe secuencializar mediante el bloqueo de número al que apunta el miembro OsData-SpinLock> de SMARTCARD_EXTENSION.
Channel
Contiene el número de canal lógico. Este miembro es opcional. El significado exacto de este miembro depende del tipo de tarjeta inteligente, como se muestra en la tabla siguiente.
Tipo de tarjeta inteligente | Significado del valor en el campo de canal |
---|---|
Lector serie | Número de puerto |
Lector paralelo | Número de puerto |
Lector SCSI | Identificador de SCSI |
Lector de teclado | 0 |
Lector USB | Número de dispositivo |
Para obtener más información, consulte la parte 3 de la especificación de interoperabilidad para iccs y sistemas informáticos personales.
CLKFrequency
Estructura con los miembros siguientes:
CLKFrequency.Default
Contiene la frecuencia de reloj estándar a la que se ejecuta el lector, en kilohercios y codificado en formato little-endian. Por ejemplo, 3,58 MHz se codifica como 3580. Este miembro es obligatorio.
CLKFrequency.Max
Contiene la frecuencia de reloj máxima a la que el lector puede ejecutarse, en kilohercios y codificado en formato little-endian. Este miembro es obligatorio.
DataRate
Estructura con los miembros siguientes:
DataRate.Default
Contiene la velocidad de datos estándar del lector, en unidades de bits por segundo y codificadas en formato little-endian. Este miembro es obligatorio.
DataRate.Max
Contiene la velocidad de datos máxima del lector, en unidades de bits por segundo y codificadas en formato little-endian. Este miembro es obligatorio.
MaxIFSD
Contiene el tamaño máximo del búfer del lector. Este valor informa a la tarjeta inteligente al principio de una transmisión T=1 del número máximo de bytes que se pueden recibir en un paquete. Este miembro es obligatorio.
PowerMgmtSupport
Indica el tipo de administración de energía que admite la tarjeta. Un valor de cero indica que la tarjeta inteligente no admite la administración de energía.
CardConfiscated
Si es TRUE, indica que se ha confiscado la tarjeta inteligente.
DataRatesSupported
Estructura con los miembros siguientes:
DataRatesSupported.List
Contiene una lista de velocidades de datos, en bits por segundo, compatibles con el lector. Este miembro se usa con la solicitud PTS. Normalmente, el controlador lector establece este miembro en un puntero a una matriz estática de valores largos sin signo que contienen las tasas de datos admitidas. Si el lector no admite diferentes velocidades de datos, deje este miembro vacío. Este miembro es opcional.
DataRatesSupported.Entries
Contiene el número de entradas de lista vinculada en DataRatesSupported.List. Este miembro es opcional.
_DataRatesSupported
Estructura con los siguientes miembros:
CLKFrequenciesSupported
Estructura con los siguientes miembros:
CLKFrequenciesSupported.List
Contiene una lista de frecuencias de reloj, en kilohercios, compatibles con el lector. Este miembro se usa con la solicitud PTS. Normalmente, el controlador establece este miembro en un puntero a una matriz estática de valores largos sin signo que contienen las frecuencias de reloj admitidas. Si el lector no admite frecuencias de reloj diferentes, deje este miembro vacío. Este miembro es opcional.
CLKFrequenciesSupported.Entries
Contiene el número de entradas de lista vinculada de CLKFrquenciesSupported.List. Este miembro es opcional.
_CLKFrequenciesSupported
Estructura con los siguientes miembros:
Reserved1[100 - sizeof(ULONG)- sizeof(struct _DataRatesSupported)- sizeof(struct _CLKFrequenciesSupported)]
Reservado para uso del sistema.
Comentarios
El controlador del lector de tarjetas inteligentes debe mantener esta estructura.
Requisitos
Requisito | Valor |
---|---|
Header | smclib.h (incluya Smclib.h) |