// gnssdriver.h
// CTL_CODE(0x0022, 0x060, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_GNSS_LISTEN_DRIVER_REQUEST 0x00220180
View the official Windows Driver Kit DDI referenceNo description available.
The IOCTL_GNSS_LISTEN_DRIVER_REQUEST control code is used by the GNSS driver to get data from the HLOS.
Set to NULL.
Set to 0.
A pointer to a GNSS_EVENT structure.
The EventType must be set to GNSS_Event_DriverRequest and the DriverRequestedData member filled in.
Set to sizeof(GNSS_EVENT).
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.
The GNSS adapter keeps a pending request all the time.
When the driver completes the I/O call, the adapter issues another IOCTL to receive the next driver request.
There will be a pending IOCTL all the time. Whenever there is a need to request data from HLOS the I/O operation should be completed. The GNSS driver should fill out the required data requested by filling the GNSS_DRIVER_REQUEST_DATA structure.
The driver should use this IOCTL to get data in only rare circumstances and not during normal operations. On possible use case would be to request SUPL configuration if somehow the configuration is lost.
Creating IOCTL Requests in Drivers
WdfIoTargetSendInternalIoctlOthersSynchronously
WdfIoTargetSendInternalIoctlSynchronously
WdfIoTargetSendIoctlSynchronously