Compartir a través de


Función SCardIntroduceReaderA (winscard.h)

La función SCardIntroduceReader introduce un nuevo nombre para una tarjeta inteligente existentelector.

Nota lectores de tarjetas inteligentes se introducen automáticamente en el sistema; Un programa de instalación del proveedor de tarjetas inteligentes también puede introducir un lector de tarjetas inteligentes en el sistema.
 

Sintaxis

LONG SCardIntroduceReaderA(
  [in] SCARDCONTEXT hContext,
  [in] LPCSTR       szReaderName,
  [in] LPCSTR       szDeviceName
);

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] szReaderName

Nombre para mostrar que se asignará al lector.

[in] szDeviceName

Nombre del sistema del lector de tarjetas inteligentes, por ejemplo, "MyReader 01".

Valor devuelto

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

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

Observaciones

Todos los lectores instalados en el sistema se introducen automáticamente por su nombre de sistema. Normalmente, solo se llama a SCardIntroduceReader para cambiar el nombre de un lector existente.

La función SCardIntroduceReader 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 un lector, use SCardForgetReader.

Ejemplos

En el ejemplo siguiente se muestra cómo introducir un lector de tarjetas inteligentes.

// This example renames the reader name.
// This is a two-step process (first add the new
// name, then forget the old name).
LPBYTE    pbAttr = NULL;
DWORD     cByte = SCARD_AUTOALLOCATE;
LONG      lReturn;

// Step 1: Add the new reader name.
// The device name attribute is a necessary value.
// hCardHandle was set by a previous call to SCardConnect.
lReturn = SCardGetAttrib(hCardHandle,
                         SCARD_ATTR_DEVICE_SYSTEM_NAME,
                         (LPBYTE)&pbAttr,
                         &cByte);
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardGetAttrib\n");
    exit(1);  // Or other error action
}
// Add the reader name.
// hContext was set earlier by SCardEstablishContext.
lReturn = SCardIntroduceReader(hContext,
                               TEXT("My New Reader Name"),
                               (LPCTSTR)pbAttr );
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardIntroduceReader\n");
    exit(1);  // Or other error action
}

// Step 2: Forget the old reader name.
lReturn = SCardForgetReader(hContext,
                            (LPCTSTR)pbAttr );
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardForgetReader\n");
    exit(1);  // Or other error action
}

// Free the memory when done.
lReturn = SCardFreeMemory( hContext, pbAttr );

Nota

El encabezado winscard.h define SCardIntroduceReader 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

SCardForgetReader

SCardIntroduceCardType

SCardIntroduceReaderGroup