Partager via


ISCardCmd::Encapsuler, méthode

[La méthode Encapsuler est disponible pour une utilisation 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 Encapsuler encapsule l’unité de données de protocole d’application (APDU) de commande donnée dans une autre commande APDU pour la transmission à un carte intelligent.

Syntaxe

HRESULT Encapsulate(
  [in] LPBYTEBUFFER  pApdu,
  [in] ISO_APDU_TYPE ApduType
);

Paramètres

pApdu [in]

Pointeur vers l’API à encapsuler.

ApduType [in]

Cas ISO 7816-4 pour les transmissions T=0 .

ISO_CASE_1

ISO_CASE_2

ISO_CASE_3

ISO_CASE_4

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
Paramètre non valide.
E_POINTER
Un pointeur incorrect a été passé dans pApdu.
E_OUTOFMEMORY
Mémoire insuffisante.

 

Notes

Pour générer une COMMANDE APDU, appelez BuildCmd.

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

En plus des codes d’erreur COM répertoriés ci-dessus, cette interface peut renvoyer un code d’erreur smart carte 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 montre comment encapsuler une commande APDU. L’exemple suppose que pIByteApdu est un pointeur valide vers un instance de l’interface IByteBuffer.

HRESULT    hr;

// pIByteApdu is a pointer to an instance of IByteBuffer.
// Encapsulate the APDU.
hr = pISCardCmd->Encapsulate(pIByteApdu, ISO_CASE_1);
if (FAILED(hr)) 
{
    printf("Failed Encapsulate.\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

BuildCmd

ISCardCmd