Compartilhar via


IOCTL_GNSS_INJECT_AGNSS IOCTL (gnssdriver.h)

O código de controle IOCTL_GNSS_INJECT_AGNSS é usado pelo adaptador GNSS para injetar dados do AGNSS no driver. Esse IOCTL é enviado como resultado do driver que respondeu anteriormente a uma solicitação de IOCTL_GNSS_LISTEN_AGNSS pendente.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Um ponteiro para uma estrutura GNSS_AGNSS_INJECT .

Comprimento do buffer de entrada

Defina como sizeof(GNSS_AGNSS_INJECT).

Buffer de saída

Defina como NULL.

Comprimento do buffer de saída

Defina como 0.

Bloco de status

Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, Status para a condição de erro apropriada como um código NTSTATUS .

Comentários

Entrada

GNSS_AGNSS_INJECT

Dependendo do elemento InjectionType, o elemento de dados apropriado é preenchido.

Saída

NTSTATUS com as seguintes indicações:
  • Êxito: a injeção de dados do AGNSS foi aceita.
  • Falha: falha na injeção de dados do AGNSS.

Notas do adaptador GNSS

Quando o adaptador GNSS falha ao obter tempo para injeção, ele define o elemento InjectionStatus. O driver deve marcar que esse elemento indica êxito, antes de realmente usar os dados do elemento.

Em caso de falha na coleta de dados de injeção, o adaptador não tentará novamente automaticamente. Cabe ao driver repetir o mesmo sequente de solicitação.

Este é um IOCTL de fogo e esquecer. O adaptador GNSS não manipula o erro mesmo que o driver retorne uma falha indicando que os dados de injeção não foram usados.

Notas do driver GNSS

O driver GNSS conclui a solicitação de E/S depois de consumir os dados de injeção.

Requisitos

Requisito Valor
Cabeçalho gnssdriver.h

Confira também

Criando solicitações IOCTL em drivers

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously