Écriture de balises
L’écriture de balises est spécifiée pour les catégories : Général, NFC et Tout. Dans chaque catégorie, un pilote reconnaît uniquement certains types de balises.
Il s’agit de publications spéciales qui permettent d’écrire un message dans n’importe quelle balise NearFieldProximity. Toute charge utile existante de la balise DOIT être remplacée. La sémantique d’ajout est définie uniquement pour NFC. Si le client souhaite ajouter au lieu de remplacer, il doit construire une charge utile NDEF qui contient le message NDEF d’origine et le placer dans une publication « NDEF :WriteTag ». Il est attendu (mais non appliqué) que zéro ou une publication « * :WriteTag » sera active à un moment donné.
Écriture de balises générales
L’écriture de balises est une fonctionnalité facultative pour les fournisseurs NFP qui ne sont pas compatibles NFC. Le pilote PEUT reconnaître les types d’étiquettes suivants pour les publications uniquement :
- « WindowsUri :WriteTag »
- « WindowsMime :WriteTag »
- « Windows :WriteTag »
Écriture de balises NFC
La prise en charge de l’écriture d’étiquettes est requise pour les fournisseurs NFP compatibles NFC. Ces exigences doivent être remplies.
Si la technologie de proximité est annoncée comme NFC, le pilote DOIT reconnaître les types d’étiquettes suivants pour les publications uniquement :
- « WindowsUri :WriteTag »
- « WindowsMime :WriteTag »
- « Windows :WriteTag »
- « NDEF :WriteTag »
Les règles d’encodage NDEF strictes sont utilisées conformément aux spécifications du Forum NFC. Par exemple, un fragment de message NDEF NE DOIT PAS être écrit (même après un message NDEF valide).
Pour les balises NFC, si une balise n’est pas mise en forme NDEF et qu’un message est publié pour *. WriteTag, le fournisseur DOIT mettre en forme la balise en NDEF, puis écrire la charge utile.
Toutes les écritures de balises
Si l’écriture de balises est prise en charge par le fournisseur NFP, le pilote doit répondre à toutes les exigences répertoriées.
Mesures à prendre
- Le pilote NE DOIT PAS reconnaître les abonnements « * :WriteTag ».
- Si une ou plusieurs publications « * :WriteTag » sont activées et que le pilote détecte une balise accessible en écriture avec suffisamment d’espace disponible, la charge utile existante de la balise NE DOIT PAS être lue pour les besoins de la correspondance avec d’autres abonnements. Cela permet à une application d’écriture de balises de préempter d’autres applications ou services qui peuvent être abonnés à des messages sur des balises.
- Pour les fournisseurs NFP compatibles NFC, le pilote NE DOIT PAS transmettre les publications « * :WriteTag » lorsqu’il est connecté à un appareil de forum NFC (par opposition à une balise de forum NFC).
- Si une ou plusieurs publications « * :WriteTag » sont activées au moment où le pilote détecte une balise accessible en écriture avec suffisamment d’espace disponible pour au moins une des charges utiles, le pilote DOIT écrire exactement l’une des charges utiles dans la balise. o Dans le cas où plusieurs publications sont actives et suffisamment petites pour être écrites dans une balise, la dernière publication « * :WriteTag » créée ou activée doit être celle écrite.
- Si une publication « * :WriteTag » est créée ou activée alors que le pilote est actuellement en communication avec une balise accessible en écriture avec suffisamment d’espace disponible pour la charge utile, le pilote DOIT écrire la charge utile dans la balise même si le pilote a précédemment écrit dans la balise.
- Le pilote DOIT écrire dans les balises de telle sorte que le contenu précédent soit remplacé.
- Si une charge utile « * :WriteTag » est correctement écrite dans une balise, le pilote DOIT déclencher la gestion IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE (comme spécifié ci-dessus) pour cette publication.