Función SCardIntroduceCardTypeA (winscard.h)
La función SCardIntroduceCardType introduce una tarjeta inteligente en el subsistema de tarjetas inteligentes (para el usuario activo) agregándolo a la base de datos de tarjetas inteligentes.
Sintaxis
LONG SCardIntroduceCardTypeA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCardName,
[in, optional] LPCGUID pguidPrimaryProvider,
[in, optional] LPCGUID rgguidInterfaces,
[in] DWORD dwInterfaceCount,
[in] LPCBYTE pbAtr,
[in] LPCBYTE pbAtrMask,
[in] DWORD cbAtrLen
);
Parámetros
[in] hContext
Identificador que identifica el contexto del administrador de recursos. El contexto del administrador de recursos se establece mediante una llamada anterior a SCardEstablishContext. Este parámetro no puede ser NULL.
[in] szCardName
Nombre por el que el usuario puede reconocer la tarjeta.
[in, optional] pguidPrimaryProvider
Puntero al identificador (GUID) del proveedor de servicios principal de la tarjeta inteligente.
[in, optional] rgguidInterfaces
Matriz de identificadores (GUID) que identifican las interfaces compatibles con la tarjeta inteligente.
[in] dwInterfaceCount
Número de identificadores de la matriz rgguidInterfaces .
[in] pbAtr
Cadena ATR que se puede usar con fines coincidentes al consultar la base de datos de tarjetas inteligentes (para obtener más información, vea SCardListCards). La longitud de esta cadena viene determinada por el análisis de ATR normal.
[in] pbAtrMask
Máscara de bits opcional que se usará al comparar las ATR de tarjetas inteligentes con el ATR proporcionado en pbAtr. Si este valor no es NULL, debe apuntar a una cadena de bytes de la misma longitud que la cadena ATR proporcionada en pbAtr. Cuando una cadena ATR determinada A se compara con el ATR proporcionado en pbAtr, coincide si y solo si A & M = pbAtr, donde M es la máscara proporcionada y & representa AND bit a bit.
[in] cbAtrLen
Longitud de ATR y máscara ATR opcional. Si este valor es cero, la longitud del ATR viene determinada por el análisis de ATR normal. Este valor no puede ser cero si se proporciona un valor pbAtr .
Valor devuelto
Esta función devuelve valores diferentes en función de si se realiza correctamente o se produce un error.
Código devuelto | Descripción |
---|---|
|
SCARD_S_SUCCESS. |
|
Código de error. Para obtener más información, consulte Valores devueltos de tarjeta inteligente. |
Comentarios
Esta función no se redirige, pero si se llama a la función cuando se encuentra dentro de una sesión de Escritorio remoto, no se producirá un error. Solo significa que el resultado será del equipo remoto en lugar del equipo local.
La función SCardIntroduceCardType es una función de administración de bases de datos. Para obtener más información sobre otras funciones de administración de bases de datos, consulte Funciones de administración de bases de datos de tarjeta inteligente.
Para quitar una tarjeta inteligente, use SCardForgetCardType.
Ejemplos
En el ejemplo siguiente se muestra cómo introducir un tipo de tarjeta. En el ejemplo se supone que hContext es un identificador válido obtenido de una llamada anterior a la función SCardEstablishContext .
GUID MyGuid = { 0xABCDEF00,
0xABCD,
0xABCD,
0xAA, 0xBB, 0xCC, 0xDD,
0xAA, 0xBB, 0xCC, 0xDD };
static const BYTE MyATR[] = { 0xaa, 0xbb, 0xcc, 0x00, 0xdd };
static const BYTE MyATRMask[] = { 0xff, 0xff, 0xff, 0x00, 0xff};
LONG lReturn;
lReturn = SCardIntroduceCardType(hContext,
L"MyCardName",
&MyGuid,
NULL, // No interface array
0, // Interface count = 0
MyATR,
MyATRMask,
sizeof(MyATR));
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardIntroduceCardType\n");
Nota:
El encabezado winscard.h define SCardIntroduceCardType como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winscard.h |
Library | Winscard.lib |
Archivo DLL | Winscard.dll |