Compartilhar via


Função SCardGetProviderIdA (winscard.h)

A função SCardGetProviderId retorna o IDENTIFICADOR (GUID) do do provedor de serviços primário para um determinado cartão.

O chamador fornece o nome de um cartão inteligente (introduzido anteriormente no sistema) e recebe o identificador registrado do GUID do provedor de serviços primário, se houver.

Sintaxe

LONG SCardGetProviderIdA(
  [in]  SCARDCONTEXT hContext,
  [in]  LPCSTR       szCard,
  [out] LPGUID       pguidProviderId
);

Parâmetros

[in] hContext

Identificador que identifica o de contexto do gerenciador de recursos para a consulta. O contexto do gerenciador de recursos pode ser definido por uma chamada anterior para SCardEstablishContext. Esse parâmetro não pode ser NULL.

[in] szCard

Nome do cartão definido para o sistema.

[out] pguidProviderId

Identificador (GUID) do provedor de serviços primário. Esse provedor pode ser ativado usando COM e fornecerá acesso a outros serviços no cartão.

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 SCardGetProviderId é uma função de consulta de banco de dados. Para obter mais informações sobre outras funções de consulta de banco de dados, consulte funções de consulta de banco de dados de cartão inteligente.

Exemplos

O exemplo a seguir mostra como obter a ID do provedor para o cartão especificado. O exemplo pressupõe que hContext é um identificador válido obtido de uma chamada anterior para a função SCardEstablishContext e que "MyCardName" foi introduzido por uma chamada anterior à função SCardIntroduceCardType .

GUID    guidProv;
LONG    lReturn;

lReturn = SCardGetProviderId(hContext, 
                             L"MyCardName",
                             &guidProv);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardGetProviderId - %x\n", lReturn);
else
{
    // Use the provider GUID as needed.
    // ...
}

Nota

O cabeçalho winscard.h define SCardGetProviderId 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. 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

SCardListCards

SCardListInterfaces

SCardListReaderGroups

SCardListReaders