Partager via


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
S_OK
Opération exécutée avec succès.
E_INVALIDARG
Paramètre non valide.
E_POINTER
Un pointeur incorrect a été passé.
E_OUTOFMEMORY
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
Scardssp.h
Bibliothèque de types
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 est défini comme 53B6AA68-3F56-11D0-916B-00AA00C18068

Voir aussi

Getdata

ISCardISO7816