标记写入
为类别指定了标记写入:“常规”、“NFC”和“全部”。 在每个类别中,驱动程序将仅识别某些类型的标记。
这些是允许将消息写入任何 NearFieldProximity 标记的特殊发布。 必须覆盖标记的任何现有有效负载。 追加语义仅为 NFC 定义。 如果客户端想要追加而不是覆盖,则必须构造包含原始 NDEF 消息的 NDEF 有效负载,并将其放入“NDEF:WriteTag”发布。 预计 (但不强制) ,在任何给定时刻,零个或一个“*:WriteTag”发布将处于活动状态。
常规标记写入
标记写入是未启用 NFC 的 NFP 提供程序的可选功能。 驱动程序 MAY 仅识别发布的以下标记类型:
- “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”订阅。
- 如果启用了一个或多个“*:WriteTag”发布,并且驱动程序检测到具有足够可用空间的可写标记,则不得读取标记的现有有效负载以匹配其他订阅。 这允许标记写入应用抢占可能订阅标记上消息的其他应用或服务。
- 对于已启用 NFC 的 NFP 提供程序,驱动程序在连接到 NFC 论坛设备 (而不是 NFC 论坛标记) 时,不得传输“*:WriteTag”发布。
- 如果在驱动程序检测到具有足够空间的可写标记至少一个有效负载时启用了一个或多个“*:WriteTag”发布,则驱动程序必须将一个有效负载完全写入标记。 o 如果多个发布处于活动状态并且小到足以写入标记,则最近创建或启用的“*:WriteTag”发布必须是写入的发布。
- 如果在驱动程序当前与具有足够可用空间的可写标记通信时创建或启用“*:WriteTag”发布,则即使驱动程序以前已将有效负载写入标记,驱动程序也必须将有效负载写入标记。
- 驱动程序必须以覆盖以前的内容的方式写入标记。
- 如果成功将“*:WriteTag”有效负载写入标记,驱动程序必须触发 IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE 处理 (,如上面指定的) 发布。