Método ISCardDatabase::ListCards
[O método ListCards 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 ListCards recupera todos os nomes de cartão inteligentes que correspondem aos GUIDs (identificadores de interface) especificados, à cadeia de caracteres ATR especificada ou a ambos.
Sintaxe
HRESULT ListCards(
[in] LPBYTEBUFFER pAtr,
[in] LPSAFEARRAY pInterfaceGuids,
[in] LONG localeId,
[out] LPSAFEARRAY *ppCardNames
);
Parâmetros
-
pAtr [in]
-
Ponteiro para uma cadeia de caracteres cartão ATR inteligente. A cadeia de caracteres ATR deve ser empacotada em um IByteBuffer.
-
pInterfaceGuids [in]
-
Ponteiro para um SAFEARRAY de GUIDs (identificadores de interface COM) no formato BSTR.
-
localeId [in]
-
Identificador de localização de idioma.
-
ppCardNames [out]
-
Ponteiro para um SAFEARRAY de BSTRs que contém os nomes dos cartões inteligentes que atenderam aos parâmetros de pesquisa se tiverem ê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 |
---|---|
|
Operação concluída com sucesso. |
|
Parâmetro inválido. |
|
Um ponteiro inválido foi passado. |
|
Sem memória. |
Comentários
Para recuperar todos os leitores ou leitores conhecidos, chame ListReaders ou ListReaderGroups , respectivamente.
Para recuperar o serviço primário ou as interfaces de um cartão específico GetProviderCardId ou ListCardInterfaces, 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 nomes de cartão inteligentes que correspondem à cadeia de caracteres ATR especificada.
// Define or determine byAtr as needed for your ATR use.
BYTE byAtr[] = {0x3b,0x27,0x00,0x80,0x65,0xa2,0x0c,0x01,0x01,0x37};
LPSAFEARRAY pSafeArray = NULL;
HRESULT hr;
// pIByteBuff is a pointer to an instance of IByteBuffer.
hr = pIByteBuff->Initialize(sizeof(byAtr), byAtr);
// Call the function for the specified ATR.
hr = pISCDataBase->ListCards(pIByteBuff,
NULL,
0,
&pSafeArray);
if (FAILED(hr))
{
printf("Failed ListCards\n");
// Take other error handling action as needed.
}
else
{
// Use the safe array as needed.
}
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 |
|
Biblioteca de tipos |
|
DLL |
|
IID |
IID_ISCardDatabase é definido como 1461AAC8-6810-11D0-918F-00AA00C18068 |
Confira também