Share via


ResolverGetLocation

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

A Resolver DLL implements this function. The Location Framework calls this export when it needs reports that this Resolver can generate.

Syntax

DWORD  ResolverGetLocation(
   RESOLVER_CONTROL_BLOCK* pResControlBlock
);

Parameters

  • pResControlBlock
    Pointer to a RESOLVER_CONTROL_BLOCK that contains information about the current request for the device’s position.

Return Value

If the Resolver returns any value other than ERROR_SUCCESS, the Location Framework will assume that a fatal error has occurred and will cause the plugin to go into the PLUGIN_STATE_ERROR state.

Remarks

ResolverGetLocation is called whenever the Location Framework needs to transform reports generated by a Provider into those that the particular Resolver can generate. Unlike ProviderGetLocation, which blocks until ProviderStop is called, ResolverGetLocation should return immediately as soon as it has generated all reports it was request to or it determines that it cannot generate a specific report. The Location Framework will periodically call ResolverGetLocation as the Providers generate relevant new reports. This time interval is based on the Resolver’s configuration values as well as how frequently new data arrives from relevant Providers.

Also unlike ProviderGetLocation, which attempts to generate reports for all report types that the provider is configured for, ResolverGetLocation must only generate reports for report types that it was explicitly requested to generate via the RESOLVER_CONTROL_BLOCK typesToResolve value.

The RESOLVER_CONTROL_BLOCK does not contain a ResolverUnavailable callback function (unlike the Provider ProviderUnavailable callback). If a Resolver cannot generate a particular report, it only needs to return to the Location Framework without calling NewResolverReport for that report type and Location Framework will automatically determine that the report type is unavailable.

Requirements

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

See Also

Reference

Location Framework Plugin Functions
ProviderGetLocation
ProviderStop
RESOLVER_CONTROL_BLOCK
ProviderUnavailable
NewResolverReport