ISCardCmd::BuildCmd, méthode
[La méthode BuildCmd 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 BuildCmd construit une unité de données de protocole d’application (APDU) de commande valide pour la transmission à un carte intelligent.
Syntaxe
HRESULT BuildCmd(
[in] BYTE byClassId,
[in] BYTE byInsId,
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pbyData,
[in] LONG *p1Le
);
Paramètres
-
byClassId [in]
-
Identificateur de classe de commande.
-
byInsId [in]
-
Identificateur d’instruction de commande.
-
byP1 [in]
-
Premier paramètre de la commande.
-
byP2 [in]
-
Deuxième paramètre de la commande.
-
pbyData [in]
-
Pointeur vers la partie données de la commande.
-
p1Le [in]
-
Pointeur vers un entier LONG contenant la longueur attendue des données retournées.
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. |
|
L’un des paramètres n’est pas valide. |
|
Un pointeur incorrect a été passé. |
|
Mémoire insuffisante. |
Notes
Pour encapsuler la commande dans une autre commande, appelez Encapsuler.
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 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 montre comment construire une commande APDU. L’exemple suppose que pISCardCmd est un pointeur valide vers un instance de l’interface ISCardCmd et que pIByteRequest est un pointeur valide vers un instance de l’interface IByteBuffer initialisée avec un appel précédent à la méthode IByteBuffer:Initialize.
LONG lLe = 0;
HRESULT hr;
hr = pISCardCmd->BuildCmd(0x00, // Some cards prefer 0xC0
0xa4, // 'Select File'
0x00,
0x00,
pIByteRequest,
&lLe);
if (FAILED(hr))
{
printf("Failed ISCardCmd::BuildCmd\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 |
|
Bibliothèque de types |
|
DLL |
|
IID |
IID_ISCardCmd est défini comme D5778AE3-43DE-11D0-9171-00AA00C18068 |
Voir aussi