Compartilhar via


Função SCardIntroduceCardTypeA (winscard.h)

A função SCardIntroduceCardType apresenta uma de cartão inteligente ao subsistema de cartão inteligente (para o usuário ativo) adicionando-o ao banco de dados de cartão inteligente .

Sintaxe

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 ode contexto do gerenciador de recursos . O contexto do gerenciador de recursos é definido por uma chamada anterior para SCardEstablishContext. Esse parâmetro não pode ser NULL.

[in] szCardName

Nome pelo qual o usuário pode reconhecer o cartão.

[in, optional] pguidPrimaryProvider

Ponteiro para o identificador (GUID) para o provedor de serviços primário do cartão inteligente.

[in, optional] rgguidInterfaces

Matriz de identificadores (GUIDs) que identificam as interfaces compatíveis com o cartão inteligente.

[in] dwInterfaceCount

Número de identificadores na matriz de rgguidInterfaces .

[in] pbAtr

de cadeia de caracteres ATR que podem ser usadas para fins correspondentes ao consultar o banco de dados de cartão inteligente (para obter mais informações, consulte SCardListCards). O comprimento dessa cadeia de caracteres é determinado pela análise normal do ATR.

[in] pbAtrMask

Máscara de bits opcional a ser usada ao comparar os ATRs de cartões inteligentes com o ATR fornecido em pbAtr. Se esse valor não forNULL, ele deverá apontar para uma cadeia de caracteres de bytes do mesmo comprimento que a cadeia de caracteres ATR fornecida em pbAtr. Quando uma determinada cadeia de caracteres ATR A for comparada com a ATR fornecida em pbAtr, ela corresponderá se e somente se A & M = pbAtr, em que M é a máscara fornecida e & representa AND bit a bit.

[in] cbAtrLen

Comprimento do ATR e da máscara de ATR opcional. Se esse valor for zero, o comprimento do ATR será determinado pela análise normal do ATR. Esse valor não poderá ser zero se um valor pbAtr for fornecido.

Valor de retorno

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

Código de retorno Descrição
de sucesso do
SCARD_S_SUCCESS.
de falha do
Um código de erro. Para obter mais informações, consulte valores de retorno de cartão inteligente.

Observações

Essa função não é redirecionada, mas chamar a função quando dentro de uma sessão de Área de Trabalho Remota não resultará em um erro. Isso significa apenas que o resultado será do computador remoto em vez do computador local.

A função SCardIntroduceCardType é uma função de gerenciamento de banco de dados. Para obter mais informações sobre outras funções de gerenciamento de banco de dados, consulte funções de gerenciamento de banco de dados de cartão inteligente.

Para remover um cartão inteligente, use SCardForgetCardType.

Exemplos

O exemplo a seguir mostra como introduzir um tipo de cartão. O exemplo pressupõe que hContext é um identificador válido obtido de uma chamada anterior para a função 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

O cabeçalho winscard.h define SCardIntroduceCardType como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winscard.h
biblioteca Winscard.lib
de DLL Winscard.dll

Consulte também

SCardEstablishContext

SCardForgetCardType

SCardIntroduceReader

SCardIntroduceReaderGroup

SCardListCards