Compartir a través de


Función SCardSetAttrib (winscard.h)

La función SCardSetAttrib establece el atributo de lector especificado para el identificador especificado. No afecta al estado del lector, el controlador de lector o la tarjeta inteligente. No todos los atributos son compatibles con todos los lectores (ni se pueden establecer en todo momento), ya que muchos de los atributos están bajo control directo del protocolo de transporte.

Sintaxis

LONG SCardSetAttrib(
  [in] SCARDHANDLE hCard,
  [in] DWORD       dwAttrId,
  [in] LPCBYTE     pbAttr,
  [in] DWORD       cbAttrLen
);

Parámetros

[in] hCard

Valor de referencia devuelto desde SCardConnect.

[in] dwAttrId

Identificador del atributo que se va a establecer. Los valores son de solo escritura. Tenga en cuenta que es posible que los proveedores no admitan todos los atributos.

Valor Significado
SCARD_ATTR_SUPRESS_T1_IFS_REQUEST
Suprima el envío del paquete IFSD T=1 del lector a la tarjeta. (Se puede usar si la tarjeta insertada actualmente no admite una solicitud IFSD).

[in] pbAttr

Puntero a un búfer que proporciona el atributo cuyo identificador se proporciona en dwAttrId.

[in] cbAttrLen

Longitud (en bytes) del valor de atributo en el búfer pbAttr .

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
Código de error. Para obtener más información, consulte Valores devueltos de tarjeta inteligente.

Comentarios

La función SCardSetAttrib es una función de acceso directo a tarjetas. Para obtener información sobre otras funciones de acceso directo, consulte Funciones de acceso directo a tarjetas.

Ejemplos

En el ejemplo siguiente se muestra cómo establecer un atributo.

// Set the attribute.
// hCardHandle was set by a previous call to SCardConnect.
// dwAttrID is a DWORD value, specifying the attribute ID.
// pbAttr points to the buffer of the new value.
// cByte is the count of bytes in the buffer.
lReturn = SCardSetAttrib(hCardHandle,
                         dwAttrID,
                         (LPBYTE)pbAttr,
                         cByte);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardSetAttrib\n");

Requisitos

Requisito Value
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

SCardConnect

SCardGetAttrib