IOCTL_GPS_WRITE_ALMANAC (Compact 2013)

3/26/2014

This I/O control message obtains almanac information previously saved by an application using IOCTL_GPS_READ_ALMANAC. This data may provide enough information to the GPS hardware to enable the hardware to obtain a GPS fix more quickly than it would without almanac data. Send this message with DeviceIoControl.

Syntax

BOOL DeviceIoControl(
    HANDLE hDevice,           // handle to device
    DWORD dwIoControlCode,    // use IOCTL_GPS_WRITE_ALMANAC
    LPVOID lpInBuffer,        // pointer to input buffer
    DWORD nInBufferSize,      // input buffer size
    LPVOID lpOutBuffer,       // pointer to output buffer
    DWORD nOutBufferSize,     // output buffer size
    LPDWORD lpBytesReturned,  // number of bytes returned
    OVERLAPPED lpOverlapped   // pointer to OVERLAPPED structure
);

Parameters

  • hDevice
  • dwIoControlCode
    [in] Control code for the operation. Use IOCTL_GPS_WRITE_ALMANAC for this operation.
  • nInBufferSize
  • lpOutBuffer
  • nOutBufferSize
  • lpBytesReturned
  • lpOverlapped

Return Values

GPS hardware manufacturers may return TRUE if the hardware device driver was able to use almanac data for initialization, and FALSE otherwise. However, this is not required and applications should not rely on the return value obtained when using this I/O control.

Remarks

An application can use this I/O control to provide information it previously retrieved using IOCTL_GPS_READ_ALMANAC.

Note

Non-almanac data that can be used to enable faster GPS fixes, such as mobile phone tower information, should be provided using IOCTL_GPS_WRITE_ASSISTED.

It is important to note that the almanac data is only meaningful to the GPS hardware. The data is completely opaque to an application using the GPS Intermediate Driver. The degree to which applications can interact with almanac information is limited to saving the results of IOCTL_GPS_READ_ALMANAC and then providing the saved results to the GPS hardware using IOCTL_GPS_WRITE_ALMANAC.

Requirements

Header

gpsdev.h

See Also

Reference

GPS Intermediate Driver IOCTLs