Função SCardGetProviderIdA (winscard.h)
A função SCardGetProviderId retorna o identificador (GUID) 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 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 retornado
Essa função retorna valores diferentes dependendo se ela é bem-sucedida ou falha.
Código de retorno | Descrição |
---|---|
|
SCARD_S_SUCCESS. |
|
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.
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.
// ...
}
Observação
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. 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
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 |