Partilhar via


Assinando eventos de presença

Uma assinatura de presença é representada como um identificador aberto exclusivo dentro do driver. Um evento será lançado para o cliente do driver sempre que o provedor NFP fizer a transição de não próximo para próximo ou próximo para não próximo.

Nota Atualmente, essa interface não fornece a capacidade de informar qual dispositivo próximo foi removido ou quais assinaturas chegam de qual dispositivo próximo quando dois dispositivos são ambos próximos.

Os eventos de presença são implementados usando o caminho de assinatura típico. As mensagens com o protocolo "DeviceArrived" ou "DeviceDeparted" DEVEM ser interpretadas como assinaturas especiais. A mensagem de chegada DEVE ser a primeira mensagem entregue imediatamente antes de entregar mensagens recebidas. A mensagem de partida DEVE ser a última mensagem entregue depois que não forem possíveis mais mensagens.

Subscription

Isso se parece apenas com uma assinatura regular, exceto pelos requisitos específicos a seguir.

Um dispositivo de proximidade e seu driver estão envolvidos no fluxo de protocolo de recebimento de mensagens de um dispositivo próximo.

Ações necessárias

O driver DEVE aceitar e relatar assinaturas duplicadas, mesmo se assinado pelo mesmo cliente.

  • Pouco antes de a primeira mensagem ser recebida quando próxima, o driver DEVE agir como se uma mensagem virtual "DeviceArrived" tivesse sido recebida.

  • Quando o provedor faz a transição para não ser próximo, o driver DEVE agir como se uma mensagem virtual "DeviceDeparted" tivesse sido recebida.

  • A mensagem "DeviceDeparted" NÃO DEVE ser entregue ao cliente antes que todas as outras mensagens tenham sido tratadas por esse cliente.

  • O conteúdo de uma mensagem DeviceArrived DEVE ser um único DWORD com os 31 bits altos definidos como zero e o bit menos significativo definido SOMENTE quando o primeiro dispositivo a se tornar próximo é capaz de comunicação bidirecional sustentada. Para NFC, isso equivale ao suporte a LLCP.

  • Se o primeiro dispositivo a se tornar próximo for apenas um dispositivo do tipo marca (por exemplo, uma Marca de Fórum NFC), o driver DEVERÁ limpar o bit menos significativo na carga da mensagem DeviceArrived.

  • O conteúdo de uma mensagem DeviceDeparted DEVE ser um único DWORD com um valor de 0.