Запись тегов
Запись тегов указывается для категорий: Общие, NFC и Все. В каждой категории драйвер распознает только определенные типы тегов.
Это специальные публикации, которые позволяют записывать сообщение в любой тег NearFieldProximity. Все существующие полезные данные тега ДОЛЖНЫ быть перезаписаны. Семантика добавления определяется только для NFC. Если клиент хочет добавить вместо перезаписи, он должен создать полезные данные NDEF, содержащие исходное сообщение NDEF, и поместить их в публикацию "NDEF:WriteTag". Ожидается (но не принудительно), что в любой момент времени будет активна ноль или одна публикация "*:WriteTag".
Общие записи тегов
Запись тегов является необязательной функцией для поставщиков NFP, которые не поддерживают NFC. Драйвер может распознавать следующие типы тегов только для публикаций:
- "WindowsUri:WriteTag"
- "WindowsMime:WriteTag"
- "Windows:WriteTag"
Запись тегов NFC
Для поставщиков NFP с поддержкой NFC требуется поддержка записи тегов. Эти требования должны быть выполнены.
Если технология близкого взаимодействия объявляется как NFC, драйвер должен распознавать следующие типы тегов только для публикаций:
- "WindowsUri:WriteTag"
- "WindowsMime:WriteTag"
- "Windows:WriteTag"
- "NDEF:WriteTag"
Строгие правила кодирования NDEF используются в соответствии со спецификациями NFC Forum. Например, фрагмент сообщения NDEF НЕ ДОЛЖЕН быть записан (даже после допустимого сообщения NDEF).
Для NFC-тегов, если тег не имеет формат NDEF и сообщение опубликовано для *. WriteTag. Поставщик должен отформатировать тег в NDEF, а затем записать полезные данные.
Все записи тегов
Если запись тегов поддерживается поставщиком NFP, драйвер должен соответствовать всем перечисленным требованиям.
Необходимые действия
- Драйвер НЕ ДОЛЖЕН распознавать подписки "*:WriteTag".
- Если одна или несколько публикаций "*:WriteTag" включены и драйвер обнаруживает доступный для записи тег с достаточным объемом свободного места, существующие полезные данные тега НЕ ДОЛЖНЫ читаться в целях сопоставления с другими подписками. Это позволяет приложению для записи тегов вытеснять другие приложения или службы, которые могут быть подписаны на сообщения в тегах.
- Для поставщиков NFP с поддержкой NFC драйвер НЕ ДОЛЖЕН передавать публикации "*:WriteTag" при подключении к устройству форума NFC (в отличие от nfc-тега форума).
- Если одна или несколько публикаций "*:WriteTag" включены в тот момент, когда драйвер обнаруживает доступный для записи тег с достаточным пространством по крайней мере для одной из полезных данных, драйвер ДОЛЖЕН записать в тег ровно одну из полезных данных. o Если несколько публикаций активны и достаточно малы для записи в тег, то последняя созданная или включенная публикация "*:WriteTag" должна быть написана.
- Если публикация "*:WriteTag" создается или включена, когда драйвер в настоящее время обменивается данными с тегом, доступным для записи, с достаточным пространством для полезных данных, драйвер ДОЛЖЕН записать полезные данные в тег, даже если драйвер ранее записал его в тег.
- Драйвер должен записывать данные в теги таким образом, чтобы предыдущее содержимое перезаписывалось.
- Если полезные данные "*:WriteTag" успешно записаны в тег, драйвер ДОЛЖЕН активировать обработку IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE (как указано выше) для этой публикации.