タグの書き込み
タグの書き込みは、[全般]、[NFC]、[すべて] のカテゴリに対して指定されます。 各カテゴリ内では、ドライバーは特定の種類のタグのみを認識します。
NearFieldProximity タグにメッセージを書き込める特殊なパブリケーションです。 タグの既存のペイロードを上書きする必要があります。 追加セマンティクスは NFC に対してのみ定義されます。 クライアントが上書きではなく追加する場合は、元の NDEF メッセージを含む NDEF ペイロードを構築し、それを "NDEF:WriteTag" パブリケーションに配置する必要があります。 0 個または 1 個の "*:WriteTag" パブリケーションが任意の時点でアクティブになることが想定されています (ただし、適用されません)。
一般的なタグの書き込み
タグの書き込みは、NFC が有効になっていない NFP プロバイダーのオプション機能です。 ドライバーは、パブリケーションに対してのみ次のタグの種類を認識する場合があります。
- "WindowsUri:WriteTag"
- "WindowsMime:WriteTag"
- "Windows:WriteTag"
NFC タグの書き込み
NFC 対応 NFP プロバイダーでは、タグ書き込みのサポートが必要です。 これらの要件が満たされている必要があります。
近接テクノロジが NFC としてアドバタイズされている場合、ドライバーはパブリケーションに対してのみ次のタグの種類を認識する必要があります。
- "WindowsUri:WriteTag"
- "WindowsMime:WriteTag"
- "Windows:WriteTag"
- "NDEF:WriteTag"
厳密な NDEF エンコード規則は、NFC フォーラムの仕様に従って使用されます。 たとえば、NDEF メッセージ フラグメントを書き込む必要があります (有効な NDEF メッセージの後であっても)。
NFC タグの場合、タグが NDEF 形式ではなく、*に対してメッセージが発行される場合。WriteTag では、プロバイダーはタグを NDEF に書式設定してからペイロードを書き込む必要があります。
すべてのタグの書き込み
タグの書き込みが NFP プロバイダーによってまったくサポートされている場合、ドライバーは、一覧に記載されているすべての要件を満たす必要があります。
必要なアクション
- ドライバーは、"*:WriteTag" サブスクリプションを認識してはなりません。
- 1 つ以上の "*:WriteTag" パブリケーションが有効になっていて、ドライバーが十分な空き領域を持つ書き込み可能なタグを検出した場合、タグの既存のペイロードを他のサブスクリプションと一致させる目的で読み取ってはいけません。 これにより、タグ作成アプリは、タグのメッセージをサブスクライブする可能性がある他のアプリまたはサービスを優先できます。
- NFC 対応 NFP プロバイダーの場合、(NFC フォーラム タグではなく) NFC フォーラム デバイスに接続されている場合、ドライバーは "*:WriteTag" パブリケーションを送信してはなりません。
- ドライバーが少なくとも 1 つのペイロードに対して十分な空き領域を持つ書き込み可能なタグを検出した時点で、1 つ以上の "*:WriteTag" パブリケーションが有効になっている場合、ドライバーはペイロードの 1 つをタグに正確に書き込む必要があります。 o 複数のパブリケーションがアクティブで、タグに書き込めるのに十分なサイズの小さい場合、最後に作成または有効にされた "*:WriteTag" パブリケーションが書き込まれている必要があります。
- ドライバーが現在、ペイロードに対して十分な空き領域を持つ書き込み可能なタグと通信している間に "*:WriteTag" パブリケーションが作成または有効になっている場合、ドライバーは、ドライバーが以前にタグに書き込んだ場合でも、タグにペイロードを書き込む必要があります。
- ドライバーは、前の内容が上書きされるようにタグに書き込む必要があります。
- "*:WriteTag" ペイロードがタグに正常に書き込まれた場合、ドライバーはそのパブリケーションのIOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE処理をトリガーする必要があります (上記で指定)。