IOCTL_GNSS_GET_FIXDATA IOCTL (gnssdriver.h)

GNSS 适配器使用 IOCTL_GNSS_GET_FIXDATA 控制代码进行注册,以接收来自活动修复会话的下一个修复数据。 此 IOCTL 为 GNSS 驱动程序提供挂起的 I/O 请求,该请求的异步解析通知适配器数据是通过重叠结构 GnssEvent 成员作为数据缓冲区提供的。 GnssEvent 成员是 一个GNSS_EVENT 结构。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

指向表示修复会话 ID 的 DWORD 值的指针。

输入缓冲区长度

将 设置为 sizeof (DWORD) 。

输出缓冲区

设置为 NULL

输出缓冲区长度

设置为 0。

状态块

Irp->如果请求成功,IoStatus.Status 设置为 STATUS_SUCCESS。 否则, 状态 为相应的错误条件作为 NTSTATUS 代码。

注解

输入

FixSessionID:活动修补程序的会话 ID。

输出

GNSS_EVENT

EventType 元素必须设置为 GNSS_Event_FixAvailable

与此事件关联的数据的类型为 GNSS_FIXDATA

GNSS 适配器说明

GNSS 适配器在启动修复会话后发出一个或多个 get 修复请求。 此调用将创建一个挂起的 I/O,当 GNSS 驱动程序可从基础 GNSS 引擎或缓存值获取修复数据时,根据该数据返回该数据。

GNSS 驱动程序说明

每当修复数据准备就绪时,驱动程序将填充缓冲区并完成 I/O。 驱动程序必须确保为指定的修复会话 ID 返回数据。

每当修复数据准备就绪时,驱动程序都必须填充缓冲区并完成 I/O 请求。 驱动程序负责确保为指定的修复会话 ID 返回数据。 此外,当发出 IOCTL_GNSS_STOP_FIXSESSION的 GNSS 适配器停止修复会话时,驱动程序必须取消给定修复会话 ID 的所有挂起的获取修补程序请求。

要求

要求
Header gnssdriver.h

另请参阅

在驱动程序中创建 IOCTL 请求

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously