Partager via


ISCard::get_Atr, méthode

[La méthode get_Atr peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Les modules de carte à puce offrent des fonctionnalités similaires.]

La méthode get_Atr récupère une chaîne ATR du carte intelligent.

Syntaxe

HRESULT get_Atr(
  [out] LPBYTEBUFFER *ppAtr
);

Paramètres

ppAtr [out]

Pointeur vers une mémoire tampon d’octets sous la forme d’un IStream qui contiendra la chaîne ATR au retour.

Valeur retournée

La méthode retourne l’une des valeurs possibles suivantes.

Code de retour Description
S_OK
Opération exécutée avec succès.
E_INVALIDARG
Le paramètre ppAtr n’est pas valide.
E_POINTER
Un pointeur incorrect a été passé dans ppAtr.
E_OUTOFMEMORY
La mémoire pour répondre à la demande n’est pas disponible.

 

Notes

En plus des codes d’erreur COM répertoriés ci-dessus, cette interface peut retourner un code d’erreur de carte intelligent si une fonction de carte intelligente a été appelée pour terminer la demande. Pour plus d’informations, consultez Valeurs de retour de carte à puce.

Exemples

L’exemple suivant illustre la récupération de la chaîne ATR à partir du carte intelligent.

// 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");

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
Fin de la prise en charge des clients
Windows XP
Fin de la prise en charge des serveurs
Windows Server 2003
En-tête
Scardmgr.h
Bibliothèque de types
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCard est défini comme 1461AAC3-6810-11D0-918F-00AA00C18068

Voir aussi

get_CardHandle

get_Context

get_Protocol

get_Status

ISCard

IByteBuffer::Read