ISCardISO7816 :: WriteRecord, méthode

[La méthode WriteRecord peut être utilisée dans les systèmes d’exploitation spécifiés dans la section relative à la configuration requise. elle 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 WriteRecord construit une commande APDU ( Application Protocol Data Unit ) qui initie l’une des opérations suivantes :

  • Écriture unique d’un enregistrement.
  • Or logique des octets de données d’un enregistrement déjà présent dans la carte avec les octets de données de l’enregistrement donné dans la commande APDU.
  • Le AND logique des octets de données d’un enregistrement déjà présent dans la carte avec les octets de données de l’enregistrement donné dans la commande APDU.

Si aucune indication n’est donnée dans l’octet de codage des données, le comportement logique ou s’applique.

Notes

Lors de l’utilisation de l’adressage d’enregistrement actuel, la commande définit le pointeur d’enregistrement sur l’enregistrement mis à jour avec succès.

Syntaxe

HRESULT WriteRecord(
  [in]      BYTE         byRecordId,
  [in]      BYTE         byRefCtrl,
  [in]      LPBYTEBUFFER pData,
  [in, out] LPSCARDCMD   *ppCmd
);

Paramètres

byRecordId [ dans]

Identification de l’enregistrement. Il s’agit de la valeur P1 :

P1 = « 00 » désigne l’enregistrement en cours.

P1 ! = « 00 » est le numéro de l’enregistrement spécifié.

byRefCtrl [ dans]

Codage du contrôle de référence P2.

Valeur Signification
EF actuel
Position du bit : 00000---
EF actuellement sélectionné.
ID EF Short
Position du bit : xxxxx---
Identificateur EF bref.
Premier enregistrement
Position du bit :-----000
Dernier enregistrement
Position du bit :-----001
Enregistrement suivant
Position du bit :-----010
Enregistrement précédent
Position du bit :-----011
Enregistrement # dans P1
Position du bit :-----100

pData [ dans]

Pointeur vers l’enregistrement à écrire.

ppCmd [ in, out]

En entrée, pointeur vers un objet d’interface ISCardCmd ou null.

Au retour, elle est remplie avec la commande APDU construite par cette opération. Si ppCmd a été défini avec la valeur null, un objet ISCardCmd de carte à puce est créé et retourné en interne par le biais du pointeur ppCmd .

Valeur de retour

La méthode retourne l’une des valeurs possibles suivantes.

Code de retour Description
_OK
Opération exécutée avec succès.
E _ INVALIDARG
Paramètre non valide.
_pointeur E
Un pointeur incorrect a été passé.
_OUTOFMEMORY E
Mémoire insuffisante.

Notes

La commande encapsulée ne peut être exécutée que si l’état de sécurité de la carte à puce répond aux attributs de sécurité du fichier élémentaire en cours de traitement.

Lorsque la commande contient un identificateur élémentaire Short valide, elle définit le fichier en tant que fichier élémentaire actuel. Si un autre fichier élémentaire est actuellement sélectionné au moment de l’émission de cette commande, cette commande peut être traitée sans identification du fichier actuellement sélectionné.

Si la commande encapsulée s’applique à un fichier élémentaire linéaire ou à structure cyclique, elle est abandonnée si la longueur de l’enregistrement est différente de la longueur de l’enregistrement existant. Si elle s’applique à un fichier élémentaire structuré à variables linéaires, elle peut être exécutée lorsque la longueur de l’enregistrement est différente de la longueur de l’enregistrement existant.

Si P2 = xxxxx011 et que le fichier élémentaire est un fichier cyclique, cette commande a le même comportement qu’une commande construite à l’aide de AppendRecord.

Impossible d’écrire dans les fichiers élémentaires sans structure d’enregistrement. La commande construite s’arrête si elle est appliquée à un fichier élémentaire sans structure d’enregistrement.

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

Outre les codes d’erreur COM listés ci-dessus, cette interface peut retourner un code d’erreur de carte à puce si une fonction de carte à puce 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 [Applications de bureau XP uniquement]
Serveur minimal pris en charge
Windows Serveur 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 en tant que 53B6AA68-3F56-11D0-916B-00AA00C18068

Voir aussi

AppendRecord

ISCardISO7816

ReadRecord

UpdateRecord