Compartir a través de


Función SCardIntroduceCardTypeA (winscard.h)

La función SCardIntroduceCardType presenta una tarjeta inteligente al subsistema de tarjeta inteligente (para el usuario activo) agregándolo a la base de datos de tarjeta inteligente .

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 de . 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) de la tarjeta inteligente proveedor de servicios principal.

[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 pueden 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 normal de ATR.

[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 esNULL, debe apuntar a una cadena de bytes 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 normal de ATR. Este valor no puede ser cero si se proporciona un valor pbAtr de .

Valor devuelto

Esta función devuelve valores diferentes en función de si se realiza correctamente o no.

Código devuelto Descripción
correcto
SCARD_S_SUCCESS.
error de
Un código de error. Para obtener más información, consulte valores devueltos de tarjeta inteligente.

Observaciones

Esta función no se redirige, pero llamar a la función cuando se encuentra dentro de una sesión de Escritorio remoto no 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winscard.h
biblioteca de Winscard.lib
DLL de Winscard.dll

Consulte también

SCardEstablishContext

SCardForgetCardType

SCardIntroduceReader

SCardIntroduceReaderGroup

SCardListCards