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
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 |