IOCTL_GNSS_MODIFY_FIXSESSION IOCTL (gnssdriver.h)

The IOCTL_GNSS_MODIFY_FIXSESSION control code is used by the GNSS adapter to modify the fix session parameters of an active fix session. This is only required when the GNSS driver does not support multiple fix session of the same fix type, for example, when the SupportMultipleFixSession capability of the driver is FALSE.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

A pointer to a GNSS_FIXSESSION_PARAM structure.

Input buffer length

Set to sizeof(GNSS_FIXSESSION_PARAM).

Output buffer

Set to NULL.

Output buffer length

Set to 0.

Status block

Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.

Remarks

The driver sets an NTSTATUS value to indicate one of the following results.

  • The fix session was successfully modified.
  • The fix session is currently stopped or not active.
  • The fix session parameter could not be modified.

GNSS adapter notes

The GNSS adapter uses this IOCTL to change the fix session parameters of an active fix session to accommodate new fix requests from the LBS applications.

If the call fails, the GNSS adapter will not multiplex the new fix request into the existing active session. Instead it will continue expecting that the active fix session has remained unchanged.

If the call succeeds, the GNSS adapter will expect the subsequent fix data to adhere to the newly specified session parameters.

GNSS driver notes

If multi-session support is not present, the GNSS driver must support this IOCTL and change the fix session parameters on the fly for the active session.

Once the GNSS driver accepts the fix session parameters, validates them, and sends them to the GNSS engine, it should immediately complete the I/O request with a success return code.

Upon successful completion, the GNSS driver should return all fix data according to the new fix session parameters. However, fix data that’s already in the process of being provided to the GNSS adapter should still be made available and should not be discarded.

Requirements

Requirement Value
Header gnssdriver.h

See also

Creating IOCTL Requests in Drivers

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously