Compartilhar via


IOCTL_GNSS_GET_FIXDATA IOCTL (gnssdriver.h)

O código de controle IOCTL_GNSS_GET_FIXDATA é usado pelo adaptador GNSS para se registrar para receber os próximos dados de correção de uma sessão de correção ativa. Esse IOCTL fornece ao driver GNSS uma solicitação de E/S pendente, a resolução assíncrona da qual notifica o adaptador de que os dados estão sendo fornecidos por meio do membro GnssEvent de estruturas sobrepostas como um buffer de dados. O membro GnssEvent é uma estrutura GNSS_EVENT .

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Ponteiro para um valor DWORD que representa a ID da sessão de correção.

Comprimento do buffer de entrada

Defina como sizeof(DWORD).

Buffer de saída

Definir 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

FixSessionID: ID da sessão para uma correção ativa.

Saída

GNSS_EVENT

O elemento EventType deve ser definido como GNSS_Event_FixAvailable.

Os dados associados a esse evento são do tipo GNSS_FIXDATA.

Notas do adaptador GNSS

O adaptador GNSS emite uma ou mais solicitações de correção após iniciar uma sessão de correção. Essa chamada cria uma E/S pendente na qual o driver GNSS pode retornar dados de correção quando estiver disponível no mecanismo GNSS subjacente ou no valor de cache.

Notas do driver GNSS

Sempre que um dado de correção estiver pronto, o driver preencherá o buffer e concluirá a E/S. O driver deve garantir que os dados sejam retornados para a ID de sessão de correção especificada.

Sempre que os dados de correção estiverem prontos, o driver deverá preencher o buffer e concluir a solicitação de E/S. É responsabilidade do driver garantir que os dados sejam retornados para a ID de sessão de correção especificada. Além disso, quando uma sessão de correção é interrompida pelo adaptador GNSS emitindo um IOCTL_GNSS_STOP_FIXSESSION, o driver deve cancelar todas as solicitações de correção pendentes para a ID de sessão de correção fornecida.

Requisitos

Requisito Valor
Cabeçalho gnssdriver.h

Confira também

Criando solicitações IOCTL em drivers

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously