Partager via


IOCTL_NFCSE_SET_CARD_EMULATION_MODE IOCTL (nfcsedev.h)

Le code de contrôle IOCTL_NFCSE_SET_CARD_EMULATION_MODE définit si l’élément sécurisé spécifié est exposé en mode d’émulation de carte. Lorsqu’un élément sécurisé est « exposé » en tant qu’émulation de carte, cela signifie que l’appareil est amené à un lecteur externe auquel l’élément sécurisé est accessible par le lecteur. Le IOCTL est émis sur un handle de fichier ouvert avec un nom de fichier relatif « SEManage ». Le pilote DOIT accorder un accès exclusif au client pour gérer le mode d’émulation de carte, autrement dit, les appels suivants pour ouvrir un handle de fichier à l’aide du nom de fichier relatif « SEManage » échouent avec STATUS_ACCESS_DENIED jusqu’à ce que le client disposant d’un accès exclusif ferme son handle de fichier.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

structure SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFO.

Mémoire tampon de sortie

Aucun

Bloc d’état

Irp->IoStatus.Status est défini sur STATUS_SUCCESS si la demande réussit. Les codes d’erreur possibles sont les suivants :

Retour du code Description
STATUS_INVALID_PARAMETER Si le GUID de l’élément sécurisé n’est pas valide ou si la mémoire tampon de sortie n’est pas égale à zéro.
STATUS_INVALID_DEVICE_STATE Si le IOCTL est envoyé sur un handle autre que le nom relatif « SEManage ».

Remarques

Voici les exigences auxquelles le pilote doit adhérer.

  • Ce IOCTL doit être appelé sur un handle qui a un nom de fichier relatif SEEvents ; sinon, le pilote retourne STATUS_INVALID_DEVICE_STATE.
  • Si le mode d’émulation de carte est défini sur EmulationOff pour tous les éléments sécurisés attachés au contrôleur NFC, le mode d’émulation de la boucle d’interrogation doit être désactivé. Si les fonctionnalités de proximité sont également désactivées, le pilote doit passer à un mode de faible puissance.
  • Si le mode d’émulation de carte est défini sur une valeur autre que EmulationOff, le pilote doit continuer à être dans l’état D0 et le mode d’émulation de la boucle d’interrogation doit être activé (détectable pour les lecteurs externes).
  • Lorsque le handle de fichier ouvert SEManage est fermé, le pilote doit définir les paramètres du mode d’émulation de carte de tous les éléments sécurisés comme EmulationOff, sauf lorsque le dernier état du mode d’émulation de carte défini est EmulationOnPowerIndependent. Si le dernier état du mode d’émulation de carte défini est EmulationOnPowerIndependent, le pilote doit rester avec le paramètre de mode d’émulation de carte activé avec l’option PbF pour les éléments sécurisés spécifiques.
  • Le pilote doit accorder un accès exclusif au client pour gérer le mode d’émulation de carte. Les appels suivants pour ouvrir un handle de fichier à l’aide du nom de fichier relatif SEManage échouent avec STATUS_ACCESS_DENIED jusqu’à ce que le client disposant d’un accès exclusif ferme son handle de fichier.

Exigences

Exigence Valeur
d’en-tête nfcsedev.h