Модель поставщика NFP
Модель драйвера поставщика близкого взаимодействия по полю (NFP) предоставляет Windows общую поверхность для использования возможностей NFP, а также для реализации сценариев И вариантов использования NFP.
Чтобы предоставить эти возможности Windows, разработчик совместимого устройства должен предоставить драйвер устройства, реализующий интерфейс GUID_DEVINTERFACE_NFP устройства. Этот драйвер работает с базовой технологией NFP, реализованной в программном обеспечении и (или) оборудовании на устройстве, чтобы сформировать поставщика NFP.
Интерфейс устройства GUID_DEVINTERFACE_NFP позволяет Windows использовать различные технологии NFP. Наиболее распространенные функции, предоставляемые разработчиками этого интерфейса устройства, являются универсальными и не относятся к какой-либо базовой технологии NFP. Приложения, программируя эту общую функцию для взаимодействия с другими приложениями для Windows, должны иметь возможность использовать любой поставщик NFP без изменения кода приложения. Так как NFC является ведущим стандартом в пространстве NFP, интерфейс устройства поддерживает определенное поведение NFC, предоставляя поставщику NFP возможность обрабатывать собственные пакеты NDEF. Приложение может зависеть от этой функции NFC и ограничивать свои собственные функции только поставщиками NFP с поддержкой NFC.
Два компьютера с несовместимыми поставщиками NFP не смогут обмениваться данными через своих поставщиков NFP. Эта спецификация содержит рекомендации, достаточные для поддержки взаимодействия двух сертифицированных систем Windows, так как поддержка по крайней мере одного поставщика с поддержкой NFC является обязательным требованием для сертификации системы Windows.
Поставщики NFP выполняют предварительную стадию взаимодействия с помощью модели pub/sub, передача которой активируется прокси-событием базовой технологии NFP. Сообщения публикуются и подписываются на них в зависимости от типа сообщения. Когда два устройства становятся прокси-устройствами в соответствии с технологией NFP, активируется состояние близости, и все опубликованные в настоящее время сообщения передаются текущим подписчикам на другом устройстве. Этот механизм предоставляет модель, в которой пользователь задает определенный контекст на своем устройстве, а затем нажимает его на другом устройстве, чтобы легко выполнить сценарий.