Função SCardSetCardTypeProviderNameA (winscard.h)

A função SCardSetCardTypeProviderName especifica o nome do módulo (biblioteca de vínculo dinâmico) que contém o provedor para um determinado nome de cartão e tipo de provedor.

Sintaxe

LONG SCardSetCardTypeProviderNameA(
  [in] SCARDCONTEXT hContext,
  [in] LPCSTR       szCardName,
  [in] DWORD        dwProviderId,
  [in] LPCSTR       szProvider
);

Parâmetros

[in] hContext

Identificador que identifica o contexto do gerenciador de recursos. O contexto do gerenciador de recursos pode ser definido por uma chamada anterior para SCardEstablishContext. Esse valor poderá ser NULL se a chamada para SCardSetCardTypeProviderName não for direcionada para um contexto específico.

[in] szCardName

Nome do tipo de cartão ao qual esse nome de provedor está associado.

[in] dwProviderId

Identificador do provedor associado a esse tipo de cartão.

Valor Significado
SCARD_PROVIDER_PRIMARY
1
A função recupera o nome do provedor de serviços primáriodo cartão inteligente como uma cadeia de caracteres GUID.
SCARD_PROVIDER_CSP
2
A função recupera o nome do provedor de serviços criptográficos (CSP).
SCARD_PROVIDER_KSP
3
A função recupera o nome do KSP (provedor de armazenamento de chaves) de cartão inteligente.
SCARD_PROVIDER_CARD_MODULE
0x80000001
A função recupera o nome do módulo cartão.

[in] szProvider

Uma cadeia de caracteres que contém o nome do provedor que representa o CSP.

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 de cartão inteligente.

Comentários

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.

Essa função define o nome do provedor, enquanto SCardGetCardTypeProviderName pode ser usado para recuperar o nome do provedor.

Exemplos

O exemplo a seguir mostra como especificar o nome do provedor de tipo cartão.

LPTSTR            szNewProvName = _T("My Provider Name");
LPTSTR            szCardName = _T("WindowsCard");
LONG              lReturn = SCARD_S_SUCCESS;

// Set the card type provider name.
// hContext was set by SCardEstablishContext.
lReturn = SCardSetCardTypeProviderName(hContext,
                                      szCardName,
                                      SCARD_PROVIDER_CSP,
                                      szNewProvName);
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardSetCardTypeProviderName - %x\n", lReturn);
    exit(1);
}

Observação

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

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

SCardGetCardTypeProviderName