Compartilhar via


Método ISCardDatabase::ListCardInterfaces

[O método ListCardInterfaces está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele não está disponível para uso no Windows Server 2003 com Service Pack 1 (SP1) e posterior, Windows Vista, Windows Server 2008 e versões subsequentes do sistema operacional. Os Módulos de Cartão Inteligente fornecem funcionalidade semelhante.]

O método ListCardInterfaces recupera os GUIDs (identificadores) de todas as interfaces com suporte para a cartão inteligente especificada.

Sintaxe

HRESULT ListCardInterfaces(
  [in]  BSTR        bstrCardName,
  [out] LPSAFEARRAY *ppInterfaceGuids
);

Parâmetros

bstrCardName [in]

Nome da cartão inteligente.

ppInterfaceGuids [out]

Ponteiro para os GUIDs da interface se tiver êxito; NULL se a operação falhou.

Valor retornado

O método retorna um dos valores possíveis a seguir.

Código de retorno Descrição
S_OK
Operação concluída com sucesso.
E_INVALIDARG
Parâmetro inválido.
E_POINTER
Um ponteiro inválido foi passado em ppInterfaceGuids.
E_OUTOFMEMORY
Sem memória.

 

Comentários

Para recuperar o provedor de serviços primário do cartão inteligente, chame GetProviderCardId.

Para recuperar todos os cartões inteligentes conhecidos, leitores e grupos de leitores chamam ListCards, ListReaders e ListReaderGroups , respectivamente.

Para obter uma lista de todos os métodos fornecidos por essa interface, consulte ISCardDatabase.

Além dos códigos de erro COM listados acima, essa interface poderá retornar um código de erro de cartão inteligente se uma função de cartão inteligente for chamada para concluir a solicitação. Para obter mais informações, consulte Valores retornados do cartão inteligente.

Exemplos

O exemplo a seguir mostra a recuperação dos identificadores das interfaces com suporte para a cartão inteligente especificada.

BSTR         bstrCard = NULL;
LPSAFEARRAY  pGuids = NULL;
HRESULT      hr;

bstrCard = SysAllocString(L"GemSAFE");
// Call the function for the specified card.
hr = pISCDataBase->ListCardInterfaces(bstrCard,
                                      &pGuids);
if (FAILED(hr))
{
   printf("Failed ListCardInterfaces\n");
   // Take other error handling action as needed.
}
else
{
   // Use the safe array as needed.
   // ...
   // Free BSTR when done.
   if (bstrCard)
       SysFreeString(bstrCard);
}

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]
Fim do suporte ao cliente
Windows XP
Fim do suporte ao servidor
Windows Server 2003
Cabeçalho
Scardmgr.h
Biblioteca de tipos
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardDatabase é definido como 1461AAC8-6810-11D0-918F-00AA00C18068

Confira também

GetProviderCardId

ISCardDatabase

ListCards

ListReaderGroups

ListReaders