Partilhar via


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 de NCI NFC 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 para rotas baseadas em tecnologia e protocolo estejam em conformidade com a especificação NCI NFC s 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 foi maior que o MAX_ROUTING_TABLE_SIZE do controlador NFC.
STATUS_FEATURE_NOT_SUPPORTED O NFCC não dá suporte à configuração de roteamento de modo de escuta.
STATUS_INVALID_PARAMETER Esse status será retornado se o buffer de saída não for zero ou os valores usados para tecnologia ou protocolo estiverem em conformidade com a especificação de NCI NFC sec 6.3.2 ou se AIDs duplicados forem usados ou ao usar o modo de roteamento que não tem suporte pelos recursos atuais do controlador NFC.
STATUS_INVALID_DEVICE_STATE Esse código será retornado se o IOCTL for enviado em um identificador diferente do nome relativo 'SEManage'.

Observações

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 deverá ter entradas de tabela de roteamento de modo de escuta padrão iniciais que roteiem as tecnologias RF A, B e F e/ou ISO-DEP protocolo roteado para UICC SE, se presentes. Essas entradas de roteamento podem ser substituídas posteriormente pela nova configuração de tabela de roteamento de 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