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.
- lpInBuffer
[in] Pointer to a buffer that contains data previously retrieved using IOCTL_GPS_READ_ALMANAC.
- 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 |