Tagschreibvorgang
Das Schreiben von Tags wird für die Kategorien Allgemein, NFC und Alle angegeben. Innerhalb jeder Kategorie erkennt ein Treiber nur bestimmte Typen von Tags.
Dies sind spezielle Veröffentlichungen, mit denen eine Nachricht in ein beliebiges NearFieldProximity-Tag geschrieben werden kann. Alle vorhandenen Nutzlasten des Tags MÜSSEN überschrieben werden. Anfügesemantik ist nur für NFC definiert. Wenn der Client anstelle des Überschreibens anfügen möchte, muss er eine NDEF-Nutzlast erstellen, die die ursprüngliche NDEF-Nachricht enthält, und sie in einer NDEF:WriteTag-Publikation platzieren. Es wird erwartet (aber nicht erzwungen), dass zu einem bestimmten Zeitpunkt 0 oder eine "*:WriteTag"-Veröffentlichung aktiv ist.
Allgemeines Schreiben von Tags
Das Schreiben von Tags ist ein optionales Feature für NFP-Anbieter, die nicht NFC-fähig sind. Der Treiber kann die folgenden Tagtypen nur für Veröffentlichungen erkennen:
- "WindowsUri:WriteTag"
- "WindowsMime:WriteTag"
- "Windows:WriteTag"
Schreiben von NFC-Tags
Unterstützung für das Schreiben von Tags ist für NFC-fähige NFP-Anbieter erforderlich. Diese Anforderungen müssen erfüllt sein.
Wenn die Näherungstechnologie als NFC angekündigt wird, MUSS der Treiber die folgenden Tagtypen nur für Veröffentlichungen erkennen:
- "WindowsUri:WriteTag"
- "WindowsMime:WriteTag"
- "Windows:WriteTag"
- "NDEF:WriteTag"
Strenge NDEF-Codierungsregeln werden in Übereinstimmung mit den NFC-Forum-Spezifikationen verwendet. Beispielsweise darf ein NDEF-Nachrichtenfragment NICHT geschrieben werden (auch nicht nach einer gültigen NDEF-Nachricht).
Für NFC-Tags, wenn ein Tag nicht NDEF-formatiert ist und eine Nachricht für * veröffentlicht wird. WriteTag: Der Anbieter MUSS das Tag in NDEF formatieren und dann die Nutzlast schreiben.
Alle Tagschreibvorgänge
Wenn das Schreiben von Tags vom NFP-Anbieter überhaupt unterstützt wird, muss der Treiber alle aufgeführten Anforderungen erfüllen.
Erforderliche Aktionen
- Der Treiber DARF keine "*:WriteTag"-Abonnements erkennen.
- Wenn eine oder mehrere "*:WriteTag"-Veröffentlichungen aktiviert sind und der Treiber ein beschreibbares Tag mit genügend Speicherplatz erkennt, darf die vorhandene Nutzlast des Tags NICHT zum Abgleich anderer Abonnements gelesen werden. Dies ermöglicht es einer App zum Schreiben von Tags, andere Apps oder Dienste zu löschen, die nachrichten für Tags abonniert werden können.
- Bei NFC-fähigen NFP-Anbietern darf der Treiber keine "*:WriteTag"-Veröffentlichungen übertragen, wenn er mit einem NFC Forum-Gerät verbunden ist (im Gegensatz zu einem NFC-Forum-Tag).
- Wenn eine oder mehrere "*:WriteTag"-Veröffentlichungen in dem Moment aktiviert sind, in dem der Treiber ein beschreibbares Tag mit genügend Speicherplatz für mindestens eine der Nutzlasten erkennt, MUSS der Treiber genau eine der Nutzlasten in das Tag schreiben. o Für den Fall, dass mehrere Veröffentlichungen aktiv und klein genug sind, um in ein Tag geschrieben zu werden, MUSS die zuletzt erstellte oder aktivierte "*:WriteTag"-Publikation die geschriebene sein.
- Wenn eine "*:WriteTag"-Veröffentlichung erstellt oder aktiviert wird, während der Treiber derzeit mit einem beschreibbaren Tag kommuniziert, das genügend Speicherplatz für die Nutzlast zur Verfügung hat, MUSS der Treiber die Nutzlast in das Tag schreiben, auch wenn der Treiber zuvor in das Tag geschrieben hat.
- Der Treiber MUSS in Tags so schreiben, dass der vorherige Inhalt überschrieben wird.
- Wenn eine "*:WriteTag"-Nutzlast erfolgreich in ein Tag geschrieben wurde, MUSS der Treiber die IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE-Behandlung (wie oben angegeben) für diese Veröffentlichung auslösen.