IOCTL_NFCSE_SET_ROUTING_TABLE IOCTL (nfcsedev.h)

Configura a tabela de roteamento do modo de escuta do controlador NFC. Observe que o chamador precisa enviar informações completas de roteamento do modo de escuta em uma única chamada. O chamador deve garantir que a tabela de roteamento seja menor que o valor cbMaxRoutingTableSize definido em 4.2.5.1. O tamanho total é calculado de acordo com o padrão nfc NCI s 6.3.2 e é igual ao Número de rotas baseadas em AID x 4 + soma de cbAid + Número de rotas baseadas em tecnologia x 5 + Número de rotas baseadas em protocolo x 5. O chamador deve garantir que os valores das rotas baseadas em tecnologia e protocolo estejam em conformidade com a especificação NFC NCI sec 6.3.2.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

SECURE_ELEMENT_ROUTING_TABLE que contém todas as entradas de roteamento configuradas no momento.

Buffer de saída

Nenhum

Bloco de status

Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Os códigos de erro possíveis são:

Código de retorno Descrição
STATUS_INVALID_BUFFER_SIZE O buffer fornecido era maior que o controlador NFC MAX_ROUTING_TABLE_SIZE.
STATUS_FEATURE_NOT_SUPPORTED O NFCC não dá suporte à configuração de roteamento do modo de escuta.
STATUS_INVALID_PARAMETER Essa status será retornada se o buffer de saída for diferente de zero ou os valores usados para tecnologia ou protocolo estiverem em conformidade com a especificação nfc NCI sec 6.3.2 ou se os AIDs duplicados forem usados ou ao usar o modo de roteamento que não é compatível com os recursos atuais do controlador NFC.
STATUS_INVALID_DEVICE_STATE Esse código será retornado se o IOCTL for enviado em um identificador diferente de com o nome relativo 'SEManage'.

Comentários

Veja a seguir os requisitos aos quais o driver deve aderir.

  • Esse IOCTL é enviado em um identificador com um nome de arquivo relativo 'SEManage', caso contrário, o driver DEVE concluí-lo com STATUS_INVALID_DEVICE_STATE.
  • O driver deve ter entradas de tabela de roteamento de modo de escuta padrão iniciais que roteiem as tecnologias DE RF A, B e F e/ou o protocolo ISO-DEP roteados para uicc se presente. Essas entradas de roteamento podem ser substituídas posteriormente pela nova configuração de tabela de roteamento do modo de escuta iniciada pelo host do dispositivo.
  • O driver deve garantir que o protocolo NFC-DEP seja mapeado para o host do dispositivo o tempo todo. Mesmo que o chamador não especifique isso, o driver precisará adicionar essa regra implicitamente.
  • Se esse IOCTL for emitido quando o NFCC estiver no estado de descoberta de RF, o driver precisará colocar o NFCC no estado ocioso de RF, configurar a tabela de roteamento e reiniciar a descoberta de RF.

Requisitos

Requisito Valor
Cabeçalho nfcsedev.h