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 émulation carte. Lorsqu’un élément sécurisé est « exposé » en tant qu’émulation carte, cela signifie que lorsque l’appareil est apporté à un lecteur externe, 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 carte mode d’émulation, c’est-à-dire que les appels ultérieurs à l’ouverture d’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

SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFO structure.

Mémoire tampon de sortie

None

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 :

Code de retour 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 est différente de zéro.
STATUS_INVALID_DEVICE_STATE Si le IOCTL est envoyé sur un handle autre que celui portant le nom relatif « SEManage ».

Remarques

Voici les exigences auxquelles le pilote doit se conformer.

  • 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 carte mode d’émulation 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 faible consommation.
  • Si carte mode d’émulation est défini sur une valeur autre que EmulationOff, le pilote doit continuer à être à 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 de mode d’émulation carte de tous les éléments sécurisés pour qu’ils soient EmulationOff, sauf lorsque le dernier jeu carte’état du mode d’émulation est EmulationOnPowerIndependent. Si le dernier jeu carte’état du mode d’émulation est EmulationOnPowerIndependent, le pilote doit rester avec le paramètre de mode d’émulation 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 carte mode d’émulation. Les appels suivants à l’ouverture d’un handle de fichier à l’aide de SEManage de nom de fichier relatif échouent avec STATUS_ACCESS_DENIED jusqu’à ce que le client disposant d’un accès exclusif ferme son handle de fichier.

Configuration requise

Condition requise Valeur
En-tête nfcsedev.h