Partager via


ISCardCmd::get_Apdu, méthode

[La méthode get_Apdu peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il n’est pas disponible pour une utilisation dans Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures, Windows Vista, Windows Server 2008 et les versions ultérieures du système d’exploitation. Les modules de carte à puce offrent des fonctionnalités similaires.]

La méthode get_Apdu récupère l’unité de données de protocole d’application (APDU) brute.

Syntaxe

HRESULT get_Apdu(
  [out] LPBYTEBUFFER *ppApdu
);

Paramètres

ppApdu [out]

Pointeur vers la mémoire tampon d’octets mappée via un objet IStream qui contient le message APDU 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 ppApdu n’est pas valide.
E_POINTER
Un pointeur incorrect a été passé dans ppApdu.
E_OUTOFMEMORY
Mémoire insuffisante.

 

Notes

Pour copier l’APDU à partir d’un objet IByteBuffer (IStream) dans l’APDU encapsulé dans cet objet d’interface, appelez put_Apdu.

Pour déterminer la longueur de l’API, appelez get_ApduLength.

Pour obtenir la liste de toutes les méthodes fournies par l’interface ISCardCmd , consultez ISCardCmd.

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 sur les codes d’erreur smart carte, consultez Valeurs de retour de carte à puce.

Exemples

L’exemple suivant montre comment récupérer l’unité de données de protocole d’application brute (APDU). L’exemple suppose que pISCardCmd est un pointeur valide vers l’interface ISCardCmd et que pIByteApdu est un pointeur valide vers un instance de l’interface IByteBuffer.

HRESULT    hr;

hr = pISCardCmd->get_Apdu(&pIByteApdu);
if (FAILED(hr)) 
{
    printf("Failed get_Apdu.\n");
    // Take other error handling action as needed.
}

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
Scarddat.h
Bibliothèque de types
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardCmd est défini comme D5778AE3-43DE-11D0-9171-00AA00C18068

Voir aussi

get_ApduLength

ISCardCmd

put_Apdu