// gnssdriver.h
// CTL_CODE(0x0022, 0x040, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_GNSS_LISTEN_NI 0x00220100
View the official Windows Driver Kit DDI referenceNo description available.
The IOCTL_GNSS_LISTEN_NI control code is used to start listening for a SUPL NI request.
This IOCTL effectively provides the GNSS driver with a pending I/O request that it can use to, through the overlapped structures GnssEvent member, convey the NI request to the adapter. The GnssEvent member is a GNSS_EVENT structure. The adapter ensures that this request is always pending and will issue a new request as soon as the pending one is resolved. When the I/O request is resolved the adapter will issue a corresponding IOCTL_GNSS_RESPOND_NI.
Set to NULL.
Set to 0.
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.
The EventType must be set to GNSS_Event_NI and the NiRequest member filled in.
The GNSS adapter ensures that this request is always pending, so that the driver can indicate there is a NI request.
When the driver completes the I/O call, the adapter issues another IOCTL to continue waiting for further NI requests. The adapter should issue the IOCTL immediately, even if the previous NI requests are held up due to user interaction.
Whenever the GNSS driver gets a NI request from the SUPL/CP, it completes the I/O operation.
These certificates, which are specified by the mobile operator and configured via the SUPL configuration service provider, are needed for establishing connection with the H-SLP or E-SLP. The GNSS adapter only pushes the SUPL configuration, including the certificated, to the GNSS driver. It does not install the certificates in the Windows file system. This is because different IHVs may have different implementations of the SUPL client, and some may include implementation of their own TLS stack. The GNSS adapter is agnostic to any implementation details of the SUPL client. The GNSS driver can store the certificates in registry or disk or push them directly to the SUPL client based on their usage. The SUPL client will need to take care of installing/using the certificates as needed.
Creating IOCTL Requests in Drivers
WdfIoTargetSendInternalIoctlOthersSynchronously
WdfIoTargetSendInternalIoctlSynchronously
WdfIoTargetSendIoctlSynchronously