Partager via


ISCardISO7816::ReadRecord, méthode

[La méthode ReadRecord 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 ReadRecord construit une commande APDU ( Application Protocol Data Unit ) qui lit le contenu des enregistrements spécifiés ou la partie de début d’un enregistrement d’un fichier élémentaire.

Syntaxe

HRESULT ReadRecord(
  [in]      BYTE       byRecordId,
  [in]      BYTE       byRefCtrl,
  [in]      LONG       lBytesToRead,
  [in, out] LPSCARDCMD *ppCmd
);

Paramètres

byRecordId [in]

Numéro d’enregistrement ou ID du premier enregistrement à lire (00 indique l’enregistrement actif).

byRefCtrl [in]

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

Valeur Signification
EF actuel
Position du bit : 00000---
EF actuellement sélectionné.
ID EF court
Position du bit : xxxxx---
Identificateur EF court.
RFU
Position du bit : 11111---
Enregistrer #
Position du bit : -----1xx
Utilisation du numéro d’enregistrement dans P1.
Lire l’enregistrement
Position du bit : -----100
Lire l’enregistrement P1.
Jusqu’au dernier
Position du bit : -----101
Lisez tous les enregistrements de P1 jusqu’au dernier.
Jusqu’à P1
Position du bit : -----110
Lire tous les enregistrements du dernier à P1.
RFU
Position du bit : -----111
ID d’enregistrement
Position du bit : -----0xx
Utilisation du numéro d’enregistrement dans P1.
First Occur
Position du bit : -----000
Première occurrence de lecture.
Dernier événement
Position du bit : -----001
Dernière occurrence de lecture.
Next Occur
Position du bit : -----010
Lire l’occurrence suivante.
Précédent
Position du bit : -----011
Lire l’occurrence précédente.
Secret
Position du bit : ---xxxxx

 

lBytesToRead [in]

Nombre d’octets à lire à partir du ef transparent.

Si le champ Le ne contient que des zéros, selon b3b2b1 de P2 et dans la limite de 256 pour la longueur courte ou de 65536 pour la longueur étendue, la commande doit lire entièrement l’enregistrement demandé ou la séquence d’enregistrements demandée.

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
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 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 lu.

Si un autre fichier élémentaire est actuellement sélectionné au moment de l’émission de cette commande, il peut être traité sans identification du fichier actuellement sélectionné.

Lorsque la commande contient un identificateur élémentaire court valide, elle définit le fichier comme fichier élémentaire actuel.

Les fichiers élémentaires sans structure d’enregistrement ne peuvent pas être lus. La commande encapsulée 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
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

AppendRecord

ISCardISO7816

UpdateRecord

WriteRecord