ISCardISO7816::UpdateRecord, méthode
[La méthode UpdateRecord 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 UpdateRecord construit une commande APDU ( Application Protocol Data Unit ) qui met à jour un enregistrement spécifique avec les bits donnés dans la commande APDU.
Notes
Lorsque vous utilisez l’adressage d’enregistrement actif, la commande définit le pointeur d’enregistrement sur l’enregistrement correctement mis à jour.
Syntaxe
HRESULT UpdateRecord(
[in] BYTE byRecordId,
[in] BYTE byRefCtrl,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
Paramètres
-
byRecordId [in]
-
Valeur P1 :
P1 = 00 désigne l’enregistrement actif
P1 != '00' est le numéro de l’enregistrement spécifié
-
byRefCtrl [in]
-
Codage du contrôle de référence P2 :
Valeur Signification - EF actuel
Position du bit : 00000---
EF actuellement sélectionné.- ID EF court
Position du bit : xxxxx---
Identificateur EF court.- 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 - Numéro d’enregistrement dans P1
Position du bit : -----100 -
pData [in]
-
Pointeur vers l’enregistrement à mettre à jour.
-
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 été défini sur NULL, un objet smart carteISCardCmd est créé et retourné en interne via le 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 encapsulée ne peut être exécutée que si la status de sécurité du carte intelligent satisfait aux attributs de sécurité du fichier élémentaire en cours de traitement.
Lorsque la commande contient un identificateur élémentaire court valide, elle définit le fichier comme 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 construite s’applique à un fichier élémentaire à structure linéaire fixe ou cyclique, elle abandonne si la longueur de l’enregistrement est différente de celle de l’enregistrement existant.
Si la commande s’applique à un fichier élémentaire structuré à variable linéaire, elle peut être effectuée lorsque la longueur de l’enregistrement est différente de celle de l’enregistrement existant.
L’option « previous » de la commande (P2=xxxxx011), appliquée à un fichier cyclique, a le même comportement qu’une commande construite par AppendRecord.
Les fichiers élémentaires sans structure d’enregistrement ne peuvent pas être lus. La commande construite abandonne 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.
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