// gnssdriver.h
// CTL_CODE(0x0022, 0x020, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_GNSS_INJECT_AGNSS 0x00220080
View the official Windows Driver Kit DDI referenceNo description available.
The IOCTL_GNSS_INJECT_AGNSS control code is used by the GNSS adapter to inject AGNSS data into the driver. This IOCTL is sent as a result of the driver previously responding to a pending IOCTL_GNSS_LISTEN_AGNSS request.
A pointer to a GNSS_AGNSS_INJECT structure.
Set to sizeof(GNSS_AGNSS_INJECT).
Set to NULL.
Set to 0.
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.
Depending on the InjectionType element, the appropriate data element is filled.
NTSTATUS with the following indications:
When the GNSS adapter fails to get time for injection, it sets the InjectionStatus element. The driver must check that this element indicates success, before actually using the element data.
In case of failure in gathering injection data, the adapter does not automatically retry. It is up to the driver to retry the same request sequent.
This is a fire-and-forget IOCTL. The GNSS adapter does not handle error even if the driver returns a failure indicating that the injection data was not used.
The GNSS driver completes the I/O request after consuming the injection data.
Creating IOCTL Requests in Drivers
WdfIoTargetSendInternalIoctlOthersSynchronously
WdfIoTargetSendInternalIoctlSynchronously
WdfIoTargetSendIoctlSynchronously