Compartir a través de


IOCTL_NFCSE_SET_CARD_EMULATION_MODE IOCTL (nfcsedev.h)

El código de control IOCTL_NFCSE_SET_CARD_EMULATION_MODE establece si el elemento seguro especificado se expone en modo de emulación de tarjeta. Cuando un elemento seguro se "expone" como emulación de tarjeta, significa que cuando el lector puede acceder al dispositivo a un lector externo al que el lector puede acceder al elemento seguro. El IOCTL se emite en un identificador de archivo abierto con un nombre de archivo relativo "SEManage". El controlador DEBE conceder acceso exclusivo al cliente para administrar el modo de emulación de tarjeta, es decir, las llamadas posteriores para abrir un identificador de archivo mediante el nombre de archivo relativo "SEManage" producirán un error STATUS_ACCESS_DENIED hasta que el cliente con acceso exclusivo cierre su identificador de archivo.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFO estructura.

Búfer de salida

None

Bloque de estado

Irp->IoStatus.Status se establece en STATUS_SUCCESS si la solicitud se realiza correctamente. Los códigos de error posibles son:

Código de retorno Descripción
STATUS_INVALID_PARAMETER Si el GUID del elemento seguro no es válido o el búfer de salida no es cero.
STATUS_INVALID_DEVICE_STATE Si el IOCTL se envía en un identificador distinto del nombre relativo "SEManage".

Comentarios

A continuación se muestran los requisitos a los que debe cumplir el controlador.

  • Se debe llamar a este IOCTL en un identificador que tenga un nombre de archivo relativo SEEvents; de lo contrario, el controlador devuelve STATUS_INVALID_DEVICE_STATE.
  • Si el modo de emulación de tarjeta se establece en EmulationOff para todos los elementos seguros que están conectados al controlador NFC, se debe deshabilitar el modo de emulación del bucle de sondeo. Si las características de proximidad también están deshabilitadas, el controlador debe pasar a un modo de bajo consumo.
  • Si el modo de emulación de tarjeta se establece en un valor distinto de EmulationOff, el controlador debe seguir estando en el estado D0 y el modo de emulación del bucle de sondeo debe estar habilitado (detectable para lectores externos).
  • Cuando se cierra el identificador de archivo abierto SEManage, el controlador debe establecer la configuración del modo de emulación de tarjeta de todos los elementos seguros para que sean EmulationOff, excepto cuando el estado del modo de emulación de tarjeta del último conjunto sea EmulationOnPowerIndependent. Si el último estado del modo de emulación de tarjeta establecido es EmulationOnPowerIndependent, el controlador debe permanecer con la configuración del modo de emulación de tarjeta en Activado con la opción PbF para los elementos seguros específicos.
  • El controlador debe conceder acceso exclusivo al cliente para administrar el modo de emulación de tarjeta. Las llamadas posteriores para abrir un identificador de archivo mediante el nombre de archivo relativo SEManage generarían un error con STATUS_ACCESS_DENIED hasta que el cliente con acceso exclusivo cierre su identificador de archivo.

Requisitos

Requisito Valor
Header nfcsedev.h