Função SCardSetAttrib (winscard.h)

A função SCardSetAttrib define o atributo de leitor fornecido para o identificador fornecido. Isso não afeta o estado do leitor, do driver do leitor ou do cartão inteligente. Nem todos os atributos têm suporte de todos os leitores (nem podem ser definidos em todos os momentos), pois muitos dos atributos estão sob controle direto do protocolo de transporte.

Sintaxe

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

Parâmetros

[in] hCard

Valor de referência retornado de SCardConnect.

[in] dwAttrId

Identificador do atributo a ser definido. Os valores são somente gravação. Observe que os fornecedores podem não dar suporte a todos os atributos.

Valor Significado
SCARD_ATTR_SUPRESS_T1_IFS_REQUEST
Suprime o envio do pacote IFSD T=1 do leitor para o cartão. (Pode ser usado se o cartão inserido no momento não der suporte a uma solicitação IFSD.)

[in] pbAttr

Ponteiro para um buffer que fornece o atributo cuja ID é fornecida em dwAttrId.

[in] cbAttrLen

Comprimento (em bytes) do valor do atributo no buffer pbAttr .

Retornar valor

Essa função retorna valores diferentes dependendo se ela é bem-sucedida ou falha.

Código de retorno Descrição
Êxito
SCARD_S_SUCCESS.
Falha
Um código de erro. Para obter mais informações, consulte Valores retornados do cartão inteligente.

Comentários

A função SCardSetAttrib é uma função de acesso direto cartão. Para obter informações sobre outras funções de acesso direto, consulte Funções de acesso a cartão direto.

Exemplos

O exemplo a seguir mostra como definir um 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 Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winscard.h
Biblioteca Winscard.lib
DLL Winscard.dll

Confira também

Scardconnect

SCardGetAttrib