Share via


IOCTL_GPS_READ_ALMANAC (Windows Embedded CE 6.0)

1/6/2010

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

Header gpsdev.h
Windows Embedded CE Windows Embedded CE 6.0 and later

See Also

Reference

GPS Intermediate Driver IOCTLs
IOCTL_GPS_READ_ASSISTED
IOCTL_GPS_WRITE_ALMANAC

Concepts

Implementing GPS Intermediate Driver Hardware IOCTLs

Other Resources

DeviceIoControl