ISCardISO7816::SelectFile, méthode
[La méthode SelectFile 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 SelectFile construit une commande APDU ( Application Protocol Data Unit ) qui définit un fichier élémentaire actuel dans un canal logique. Les commandes suivantes peuvent faire implicitement référence au fichier actif via le canal logique.
La sélection d’un répertoire (DF) dans le magasin de fichiers carte, qui peut être la racine (MF) du magasin de fichiers, en fait le DF actuel. Après une telle sélection, un fichier élémentaire actuel implicite peut être référencé par le biais de ce canal logique.
La sélection d’un fichier élémentaire définit le fichier sélectionné et son parent comme fichiers actuels.
Une fois la réponse à réinitialiser, la valeur mf est implicitement sélectionnée via le canal logique de base, sauf indication différente dans les octets historiques ou dans la chaîne de données initiale.
Syntaxe
HRESULT SelectFile(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in] LONG lBytesToRead,
[in, out] LPSCARDCMD *ppCmd
);
Paramètres
-
byP1 [in]
-
Contrôle de sélection.
P1 (octet supérieur en mot) : 8 7 6 5 4 3 2 1 Signification - 000000xx
Sélectionner l’ID de fichier - 00000000
EF, DF ou MF - 00000001
DF enfant - 00000010
EF sous DF - 00000011
DF parent de DF actuel Lorsque P1=00, le carte le sait en raison d’un codage spécifique de l’ID de fichier ou en raison du contexte d’exécution de la commande si le fichier à sélectionner est mf, DF ou EF.
Quand P1-P2=0000, si un ID de fichier est fourni, il doit être unique dans les environnements suivants :
- Enfants immédiats de la DF actuelle
- Parent DF
- Enfants immédiats de la DF parente
Si P1-P2=0000 et si le champ de données est vide ou égal à 3F00, sélectionnez la valeur MF.
Lorsque P1=04, le champ de données est un nom DF, éventuellement tronqué à droite.
Lorsqu’elles sont prises en charge, les commandes successives avec le même champ de données doivent sélectionner des objets de domaine dont les noms correspondent au champ de données (c’est-à-dire, commencer par le champ de données de commande). Si le carte accepte la commande avec un champ de données vide, la totalité ou un sous-ensemble des DFs peuvent être sélectionnés successivement.
-
byP2 [in]
-
Contrôle de sélection.
-
pData [in]
-
Données pour l’opération si nécessaire ; sinon, NULL. Les types de données transmises dans ce paramètre sont les suivants :
- ID de fichier
- chemin d’accès à partir du mf
- chemin d’accès à partir de la DF actuelle
- Nom DF
-
lBytesToRead [in]
-
Vide (c’est-à-dire 0) ou longueur maximale des données attendues en réponse.
-
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
Sauf indication contraire, l’exécution correcte de la commande encapsulée modifie la status de sécurité conformément aux règles suivantes :
- Lorsque le fichier élémentaire actuel est modifié ou lorsqu’il n’existe aucun fichier élémentaire actuel, la status de sécurité spécifique à un ancien fichier élémentaire actuel est perdue.
- Lorsque le répertoire de magasin de fichiers (DF) actuel est descendant ou identique à l’ancien DF actuel, la status de sécurité spécifique à l’ancien DF actuel est perdue. Le status de sécurité commun à tous les ancêtres communs des anciens et nouveaux DF actuels est conservé.
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