Near Field Proximity (NFP) プロバイダー ドライバー モデルは、Windows が NFP 機能を使用し、NFP シナリオとユース ケースを有効にするための共通のサーフェスを提供します。
これらの機能を Windows に公開するには、互換性のあるデバイスの実装者が、 GUID_DEVINTERFACE_NFP デバイス インターフェイスを実装するデバイス ドライバーを提供する必要があります。 このドライバーは、デバイス上のソフトウェアやハードウェアに実装されている基になる NFP テクノロジと連携して、NFP プロバイダーを形成します。
GUID_DEVINTERFACE_NFP デバイス インターフェイスを使用すると、Windows でさまざまな NFP テクノロジを使用できます。 このデバイス インターフェイスの実装者によって公開される最も一般的な機能は汎用であり、基になる NFP テクノロジに固有ではありません。 他の Windows アプリと通信するためにこの一般的な機能をプログラミングするアプリは、アプリのコードを変更せずに任意の NFP プロバイダーを使用できる必要があります。 NFC は NFP 空間の主要な標準であるため、デバイス インターフェイスは、NFP プロバイダーにネイティブ NDEF パケットを処理する機能を提供することで、特定の NFC 動作をサポートします。 アプリは、この NFC 固有の機能に依存し、独自の機能を NFC 対応 NFP プロバイダーのみに制限できます。
互換性のない NFP プロバイダーを持つ 2 台の PC は、NFP プロバイダーを介して通信できません。 この仕様では、少なくとも 1 つの NFC 対応プロバイダーのサポートが Windows システム認定の要件であるため、2 つの認定済み Windows システムの相互運用をサポートするのに十分なガイドラインを提供します。
NFP プロバイダーは、基になる NFP テクノロジの近接イベントによって送信がトリガーされる pub/sub モデルを使用して、通信を事前にステージングします。 メッセージは、メッセージの種類に基づいてパブリッシュおよびサブスクライブされます。 NFP テクノロジに従って 2 つのデバイスが近接状態になると、近接状態がトリガーされ、現在公開されているすべてのメッセージが他のデバイスの現在のサブスクライバーに送信されます。 このメカニズムは、ユーザーがデバイスにコンテキストを設定し、別のデバイスでコンテキストをタップして簡単にシナリオを完了するモデルを提供します。