Método ISCard::get_Atr

[O método get_Atr está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Os Módulos de Cartão Inteligente fornecem funcionalidade semelhante.]

O método get_Atr recupera uma cadeia de caracteres ATR do cartão inteligente.

Sintaxe

HRESULT get_Atr(
  [out] LPBYTEBUFFER *ppAtr
);

Parâmetros

ppAtr [out]

Ponteiro para um buffer de bytes na forma de um IStream que conterá a cadeia de caracteres ATR no retorno.

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
O parâmetro ppAtr não é válido.
E_POINTER
Um ponteiro inválido foi passado em ppAtr.
E_OUTOFMEMORY
A memória para atender à solicitação não está disponível.

 

Comentários

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 da cadeia de caracteres ATR do cartão inteligente.

// Retrieve the ATR.
// pISCard is a pointer to a previously instantiated ISCard.
// pAtr is a pointer to a previously instantiated IByteBuffer.
hr = pISCard->get_Atr(&pAtr);
if (FAILED(hr))
{
    printf("Failed get_Atr\n");
    // Take other error handling action.
}
// Success, you can now use IByteBuffer::Read to access ATR bytes.
BYTE  byAtr[32];
   long  lBytesRead, i;
   // Read the ATR string into a byte array.
   hr = pAtr->Read(byAtr, 32, &lBytesRead);
   // Use the ATR value. (This example merely displays the bytes.)
   for ( i = 0; i < lBytesRead; i++)
       printf("%c", *(byAtr + i));
   printf("\n");

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_ISCard é definido como 1461AAC3-6810-11D0-918F-00AA00C18068

Confira também

get_CardHandle

get_Context

get_Protocol

get_Status

ISCard

IByteBuffer::Read