Compartir a través de


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
Success
SCARD_S_SUCCESS.
Error
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

Consulte también

SCardEstablishContext

SCardForgetCardType

SCardIntroduceReader

SCardIntroduceReaderGroup

SCardListCards