ISCardISO7816::P utData, méthode
[La méthode PutData 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 PutData construit une commande APDU ( Application Protocol Data Unit ) qui stocke un seul objet de données primitif ou le jeu d’objets de données contenus dans un objet de données construit, en fonction du fichier sélectionné.
La façon dont les objets sont stockés (écriture une seule fois et/ou mise à jour et/ou ajout) dépend de la définition ou de la nature des objets de données.
Syntaxe
HRESULT PutData(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
Paramètres
-
byP1 [in]
-
Codage de P1-P2.
Valeur Signification - 0000 - 003F
RFU - 0040 - 00FF
Balise BER-TLV (1 octet) dans P2 - 0100 - 01FF
Données d’application (codage propriétaire) - 0200 - 02FF
Balise SIMPLE-TLV dans P2 - 0300 - 03FF
RFU - 0400 - 04FF
Balise BER-TLV (2 octets) dans P1-P2 -
byP2 [in]
-
Codage de P1-P2.
Valeur Signification - 0000 - 003F
RFU - 0040 - 00FF
Balise BER-TLV (1 octet) dans P2 - 0100 - 01FF
Données d’application (codage propriétaire) - 0200 - 02FF
Balise SIMPLE-TLV dans P2 - 0300 - 03FF
RFU - 0400 - 04FF
Balise BER-TLV (2 octets) dans P1-P2 -
pData [in]
-
Pointeur vers une mémoire tampon d’octets qui contient les paramètres et les données à écrire.
-
ppCmd [in, out]
-
Lors de l’entrée, pointeur vers un objet d’interface ISCardCmd ou NULL.
Au retour, il est rempli avec la commande APDU construite par cette opération. Si ppCmd a la valeur NULL, un objet smart carteISCardCmd est créé et retourné en interne à l’aide du pointeur ppCmd.
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. |
|
Paramètre non valide. |
|
Un pointeur incorrect a été passé. |
|
Mémoire insuffisante. |
Notes
La commande ne peut être exécutée que si le status de sécurité remplit les conditions de sécurité définies par l’application dans le contexte de la fonction .
-
Stocker les données d’application
-
Lorsque la valeur de P1-P2 est comprise entre 0100 et 01FF, la valeur de P1-P2 doit être un identificateur réservé aux tests internes carte et aux services propriétaires significatifs dans un contexte d’application donné.
-
Stocker des objets de données
-
Lorsque la valeur P1-P2 se trouve dans la plage comprise entre 0040 et 00FF, la valeur de P2 doit être une balise BER-TLV sur un seul octet. La valeur 00FF est réservée pour indiquer que le champ de données contient des objets de données BER-TLV.
Lorsque la valeur de P1-P2 est comprise entre 0200 et 02FF, la valeur de P2 doit être une balise SIMPLE-TLV. La valeur 0200 est RFU. La valeur 02FF est réservée pour indiquer que le champ de données contient des objets de données SIMPLE-TLV.
Lorsque la valeur de P1-P2 se trouve dans la plage comprise entre 4000 et FFFF, la valeur de P1-P2 doit être une balise BER-TLV sur deux octets. Les valeurs 4000 à FFFF sont RFU.
Lorsqu’un objet de données primitif est fourni, le champ de données du message de commande doit contenir la valeur de l’objet de données primitif correspondant.
Lorsqu’un objet de données construit est fourni, le champ de données du message de commande doit contenir la valeur de l’objet de données construit (autrement dit, les objets de données, y compris leur balise, leur longueur et leur valeur).
Pour obtenir la liste de toutes les méthodes fournies par cette interface, consultez ISCardISO7816.
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.
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_ISCardISO7816 est défini comme 53B6AA68-3F56-11D0-916B-00AA00C18068 |
Voir aussi