Compartir a través de


IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE IOCTL (nfpdev.h)

Un cliente interesado en recibir notificaciones que se ha transmitido un mensaje enviará la solicitud de IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE al controlador de proximidad.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

None

Búfer de salida

None

Bloque de estado

Irp-IoStatus.Status> se establece en STATUS_SUCCESS si la solicitud se realiza correctamente.

De lo contrario, estado de la condición de error adecuada como código NTSTATUS.

Para obtener más información, vea Valores NTSTATUS.

Comentarios

  • Una aplicación cliente enviará este IOCTL en un bucle de control al identificador de publicación. Dos transmisiones independientes del mismo mensaje provocarían dos eventos.
  • El cliente debe enviar otro IOCTL cada vez que se complete el lápiz. El controlador DEBE utilizar los bloqueos adecuados para garantizar que el número de finalizaciones correctas de este IOCTL equivale al número de veces que se ha transmitido la publicación.
  • Las siguientes acciones son necesarias al usar este IOCTL:
    • Si este IOCTL se recibe en un identificador que no ha realizado previamente una IOCTL_NFP_SET_PAYLOAD, el controlador DEBE completarlo con STATUS_INVALID_DEVICE_STATE.
    • El controlador debe mantener el equivalente de un contador "CompleteEventImmediately" (ULONG o mayor) en el identificador de archivo de publicación.
    • Cuando se recibe este IOCTL en el controlador:
      • Si el contador es cero, el controlador DEBE escribir el IOCTL para su finalización posterior.
      • Si el contador es mayor que cero, el controlador DEBE disminuir el contador por uno y completar el IOCTL con STATUS_SUCCESS inmediatamente.
    • Si la publicación se transmite y no hay ningún IOCTL actualmente en pluma, el controlador DEBE incrementar el contador "CompleteEventImmediately" en uno.
    • Si la publicación se transmite mientras hay disponible un IOCTL con lápiz, el controlador DEBE completar el IRP con lápiz con STATUS_SUCCESS e incrementar el contador "CompleteEventImmediately".
    • Si el IOCTL contiene un búfer de entrada o salida, el controlador DEBE completar el IOCTL con STATUS_INVALID_PARAMETER.
    • Si se recibe este IOCTL mientras otro está almacenado actualmente en el identificador de publicación, el segundo (o posterior) debe completarse con STATUS_INVALID_DEVICE_STATE.
    • El controlador DEBE admitir CancelIo del IOCTL con lápiz.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Encabezado nfpdev.h

Consulte también

Guía de diseño general de comunicación de campo cercano (NFC)

Guía de diseño de proximidad de campo cercano (Tap and Do, modelo de proveedor NFP, requisitos de controladores)