IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE IOCTL (nfpdev.h)

Клиент, заинтересованный в получении уведомлений о передаче сообщения, отправит запрос IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE водителю близкого взаимодействия.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Никакой

Выходной буфер

Никакой

Блок состояния

Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно.

В противном случае состояние соответствующего условия ошибки в виде кода NTSTATUS.

Дополнительные сведения см. в значения NTSTATUS.

Замечания

  • Клиентское приложение отправит этот IOCTL в цикл управления в дескриптор публикации. Две отдельные передачи одного сообщения приводят к активации двух событий.
  • Клиент должен отправлять другой IOCTL каждый раз, когда будет выполнена закаченная. Драйвер должен использовать соответствующие блокировки, чтобы гарантировать, что количество успешных завершения этого IOCTL соответствует количеству передачи публикации.
  • При использовании этого IOCTL требуются следующие действия:
    • Если этот IOCTL получен на дескрипторе, который ранее не прошел IOCTL_NFP_SET_PAYLOAD, драйвер ДОЛЖЕН завершить его с STATUS_INVALID_DEVICE_STATE.
    • Драйвер должен поддерживать эквивалент счетчика CompleteEventImmediately (ULONG или больше) в дескрипторе файла публикации.
    • При получении этого IOCTL в драйвере:
      • Если счетчик равен нулю, драйвер ДОЛЖЕН запустить IOCTL для последующего завершения.
      • Если счетчик больше нуля, драйвер ДОЛЖЕН отреаментить счетчик по одному и завершить IOCTL с STATUS_SUCCESS немедленно.
    • Если публикация передается, и в настоящее время IOCTL не задается, драйвер ДОЛЖЕН увеличить счетчик "CompleteEventImmediately" по одному.
    • Если публикация передается при наличии доступного IOCTL, драйвер должен завершить записанный IRP с STATUS_SUCCESS и НЕ увеличить счетчик "CompleteEventImmediately".
    • Если IOCTL содержит входной или выходной буфер, драйвер ДОЛЖЕН завершить IOCTL с STATUS_INVALID_PARAMETER.
    • Если этот IOCTL получен, а другой в настоящее время задается в дескриптор публикации, второй (или более поздней) должен быть завершен с STATUS_INVALID_DEVICE_STATE.
    • Драйвер ДОЛЖЕН поддерживать CancelIo закаченного IOCTL.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8
заголовка nfpdev.h

См. также

общее руководство по проектированию по взаимодействию с полями (NFC)

Руководство по проектированию близкого расположения к полю (модель поставщика NFP, требования к драйверу)