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 |
---|---|
|
Opération exécutée avec succès. |
|
Le paramètre ppAtr n’est pas valide. |
|
Un pointeur incorrect a été passé dans ppAtr. |
|
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 |
|
Bibliothèque de types |
|
DLL |
|
IID |
IID_ISCard est défini comme 1461AAC3-6810-11D0-918F-00AA00C18068 |
Voir aussi