IOCTL_NFCSE_ENUM_ENDPOINTS IOCTL (nfcsedev.h)

Retorna informações sobre a lista de todos os elementos seguros anexados ao controlador NFC. Observe que o chamador deve alocar um buffer de saída grande o suficiente para manter informações sobre todos os elementos seguros que foram enumerados pelo driver, ou seja, número total de SEs Enumerados x Tamanho das informações do ponto de extremidade SE, caso contrário, o driver deve retornar um código de erro STATUS_BUFFER_OVERFLOW para o cliente com o campo NumberOfEndpoints contendo o número de elementos seguros enumerados. O GUID que identifica o elemento seguro que talvez seja usado para se referir a um elemento seguro específico.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Nenhum

Comprimento do buffer de entrada

Nenhum

Buffer de saída

Um SECURE_ELEMENT_ENDPOINT_LIST para cada dispositivo enumerado.

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_PARAMETER Esse código é retornado quando o buffer de saída é diferente de zero.
STATUS_BUFFER_OVERFLOW O buffer fornecido era muito pequeno para receber a configuração da tabela de roteamento.

Comentários

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

  • No caso do elemento seguro integrado, o GUID deve ser um identificador exclusivo derivado do número de série e/ou outra identificação exclusiva do elemento seguro.
  • Para elementos seguros externos, o GUID talvez seja uma constante fixa e identifique apenas o "soquete" no qual o elemento seguro está conectado.
  • Para o elemento seguro do host do dispositivo, o driver deverá enumerá-lo como um ponto de extremidade SE somente se ele der suporte à emulação de cartão de host. O GUID usado para DH talvez uma constante fixa definida pelo driver.
  • O chamador é necessário para alocar um buffer de saída grande o suficiente para manter as informações sobre todos os elementos seguros que foram enumerados pelo driver. O buffer deve ser igual ao número total de SEs enumerados pelo driver multiplicado pelo tamanho das informações do ponto de extremidade SE. Se o buffer apropriado não for alocado, o driver retornará um código de erro STATUS_BUFFER_OVERFLOW para o cliente com o campo NumberOfEndpoints que contém o número de elementos seguros enumerados.

Requisitos

Requisito Valor
Cabeçalho nfcsedev.h