ISCardISO7816::WriteBinary, méthode
[La méthode WriteBinary est disponible pour une utilisation 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 WriteBinary construit une commande APDU ( Application Protocol Data Unit ) qui écrit des valeurs binaires dans un fichier élémentaire.
En fonction des attributs de fichier, la commande effectue l’une des opérations suivantes :
- Or logique des bits déjà présents dans le carte avec les bits donnés dans la commande APDU (l’état effacé logique des bits du fichier est 0).
- Le AND logique des bits déjà présents dans le carte avec les bits donnés dans la commande APDU (l’état effacé logique des bits du fichier est 1).
- Écriture ponctuelle dans le carte des bits donnés dans la commande APDU.
Lorsqu’aucune indication n’est donnée dans l’octet de codage des données, le comportement logique OR s’applique.
Syntaxe
HRESULT WriteBinary(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
Paramètres
-
byP1 [in]
-
Décalage vers l’emplacement d’écriture à partir du début du fichier binaire (EF). Si b8=1 dans P1, b7 et b6 de P1 sont définis sur zéro (bits RFU), b5 à b1 de P1 sont un identificateur EF court et P2 est le décalage du premier octet à écrire en unités de données à partir du début du fichier. Si b8=0 dans P1, alors P1|| P2 est le décalage du premier octet à écrire en unités de données à partir du début du fichier.
-
byP2 [in]
-
Décalage vers l’emplacement d’écriture à partir du début du fichier binaire (EF). Si b8=1 dans P1, b7 et b6 de P1 sont définis sur zéro (bits RFU), b5 à b1 de P1 sont un identificateur EF court et P2 est le décalage du premier octet à écrire en unités de données à partir du début du fichier. Si b8=0 dans P1, alors P1|| P2 est le décalage du premier octet à écrire en unités de données à partir du début du fichier.
-
pData [in]
-
Pointeur vers la chaîne d’unités de données à écrire.
-
ppCmd [in, out]
-
En 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 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 effectué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.
Lorsqu’une opération binaire d’écriture a été appliquée à une unité de données d’un EF d’écriture unique, toute autre opération d’écriture faisant référence à cette unité de données est abandonnée si le contenu de l’unité de données ou l’indicateur d’état effacé logique (le cas échéant) attaché à cette unité de données est différent de l’état effacé logique.
Les fichiers élémentaires sans structure transparente ne peuvent pas être écrits dans. La commande encapsulée abandonne si elle est appliquée à un fichier élémentaire sans structure transparente.
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 renvoyer un code d’erreur smart carte 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