IOCTL_GPS_READ_ALMANAC
This IOCTL can be implemented by GPS hardware manufacturers to return almanac information currently used by the GPS hardware.
An application using the GPS Intermediate Driver can save the data retrieved by calling this IOCTL, say, on shutdown, and then provide the results to the GPS hardware, at startup, by calling IOCTL_GPS_WRITE_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.
For more information about how to use and imlement this IOCTL, see Implementing GPS Intermediate Driver Hardware IOCTLs.
Note Non-almanac data that can be used to enable faster GPS fixes - like mobile phone tower information, for example - should be retrieved using IOCTL_GPS_READ_ASSISTED.
Parameters
Applications using the GPS Intermediate Driver should pass a pointer that can hold almanac data using the lpOutBuffer parameter of the DeviceIOControl function.
GPS hardware manufacturers that implement this IOCTL should use the lpOutBuffer pointer to return almanac data currently used by the GPS hardware.
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.
Return Values
GPS hardware manufacturers may return TRUE if the hardware device driver was able to provide almanac data, and FALSE otherwise. However, this is not required and applications should not rely on the return value obtained when using this IOCTL.
Requirements
OS Versions: Windows CE 5.01 and later.
Header: GPSDev.h.
See Also
GPS Intermediate Driver IOCTLs | Implementing GPS Intermediate Driver Hardware IOCTLs | DeviceIOControl | IOCTL_GPS_READ_ASSISTED | IOCTL_GPS_WRITE_ALMANAC
Send Feedback on this topic to the authors