Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Para garantir a interoperabilidade dos provedores NFP habilitados para NFC, esta seção define exatamente como uma mensagem do Windows deve ser encapsulada em uma mensagem NDEF. Esta seção também mapeia o modelo de publicação/assinatura do NFP para os protocolos publicados pelo Fórum NFC para troca de mensagens NDEF. Estes requisitos só se aplicam se a tecnologia de proximidade for anunciada como NFC.
Encapsulamento
Os requisitos a seguir devem ser atendidos para garantir o encapsulamento adequado de mensagens do Windows para interoperabilidade NFC.
Ações necessárias
Se a tecnologia de proximidade for anunciada como NFC, então o driver deve encapsular cada publicação "Windows.<SomeSubType>" em mensagens NDEF com um valor do campo TNF de 0x03.
- O campo NDEF TYPE DEVE conter o mapeamento direto da <cadeia de caracteres SomeSubType> onde cada caractere largo é interpretado como um único byte.
- O NDEF PAYLOAD DEVE conter o conteúdo binário direto da carga útil da mensagem publicada.
Se a tecnologia de proximidade é anunciada como NFC, então o driver deve corresponder às assinaturas para "Windows.<SomeSubType>" SOMENTE com mensagens NDEF que têm um valor de campo TNF de 0x03 e um campo TYPE que é igual a "<SomeSubType>", onde cada caractere de largura é interpretado como um único byte
O driver DEVE retornar apenas a CARGA ÚTIL das mensagens NDEF correspondentes para assinantes desse tipo.
"Windows:WriteTag." Publicações
Uma publicação "Windows:WriteTag." é um meio para uma aplicação gravar simplesmente uma carga útil tipo Windows numa etiqueta.
Ações necessárias
- Aplicam-se os requisitos comuns "*:WriteTag" descritos em outro lugar.
- "Os requisitos de publicação de 'Windows.<SomeSubType>' também se aplicam à 'Windows:WriteTag.<SomeSubType>' publicação."
Publicações "LaunchApp:WriteTag"
Uma publicação "LaunchApp:WriteTag" é um meio para uma aplicação simplesmente escrever uma mensagem "Windows.windows.com/LaunchApp" numa tag.
O cliente enviará uma lista delimitada por tabulação (ou delimitada por nulo) de strings como a carga útil para esta publicação codificada em UTF-16LE. A primeira cadeia de caracteres é a lista de argumentos para o aplicativo. Seguindo a cadeia de argumentos haverá pares de strings. A primeira cadeia de caracteres em cada par define o qualificador de plataforma para uma ID de aplicativo, a próxima cadeia de caracteres é a ID real do aplicativo a ser iniciada nessa plataforma. Esse mecanismo oferece suporte à interoperabilidade entre plataformas de aplicativos além do Windows.
Ações necessárias
- O tipo da mensagem DEVE ser codificado como se o tipo fosse "Windows.windows.com/LaunchApp".
- Se o buffer contiver menos de três strings, o driver DEVE concluir o IOCTL com STATUS_INVALID_PARAMETER.
- Se o buffer tiver mais de 3.000 caracteres, o driver DEVE completar a operação IOCTL com STATUS_INVALID_PARAMETER.
- Se o buffer contiver uma ou mais cadeias de caracteres de comprimento zero (dois caracteres de tabulação consecutivos), o driver DEVE completar o IOCTL com STATUS_INVALID_PARAMETER.
- Se o buffer contiver um número par de cadeias de caracteres, o driver DEVE finalizar a operação IOCTL com STATUS_INVALID_PARAMETER.
- O driver DEVE analisar o buffer em uma cadeia de caracteres de argumento e uma lista de tuplas de plataforma/AppID.
- Se qualquer plataforma ou sequência de caracteres do AppID tiver mais de 255 caracteres, o driver deve completar a IOCTL com STATUS_INVALID_PARAMETER.
- O primeiro USHORT da carga escrita na tag DEVE conter o número de tuplas de plataforma/AppID na codificação big-endian.
- Todas as strings DEVEM ser convertidas de UTF-16LE para UTF-8.
- Os comprimentos de cadeia de caracteres gravados na carga DEVEM estar em bytes.
- Para cada tupla plataforma/AppID, o driver DEVE adicionar à carga útil um byte com o comprimento (em bytes) da cadeia de caracteres da plataforma, seguido pela própria plataforma, seguido por um byte com o comprimento (em bytes) da cadeia de caracteres do AppID, seguido pelo próprio AppID.
- O driver DEVE adicionar um USHORT contendo o comprimento da cadeia de argumentos seguida pela própria cadeia de argumentos.