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 a ese 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

Ninguno

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 devuelto 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".

Observaciones

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, el modo de emulación del bucle de sondeo debe deshabilitarse. Si también se deshabilitan las características de proximidad, 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 EmulaciónOff, el controlador debe seguir estando en 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 como EmulationOff, excepto cuando el último estado del modo de emulación de tarjeta establecido es 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 errores con STATUS_ACCESS_DENIED hasta que el cliente con acceso exclusivo cierre su identificador de archivo.

Requisitos

Requisito Valor
encabezado de nfcsedev.h