Freigeben über


ILocation::GetReport-Methode (locationapi.h)

[Die Win32-Standort-API ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es kann in nachfolgenden Versionen geändert oder entfernt werden. Verwenden Sie stattdessen die Windows.Devices.Geolocation-API . ]

Ruft einen Standortbericht ab.

Syntax

HRESULT GetReport(
  [in]  REFIID          reportType,
  [out] ILocationReport **ppLocationReport
);

Parameter

[in] reportType

REFIID , die den Typ des abzurufenden Berichts angibt.

[out] ppLocationReport

Adresse eines Zeigers auf ILocationReport , der den angegebenen Standortbericht empfängt.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_ACCESSDENIED
Für den Standortanbieter sind Berechtigungen deaktiviert, und Berichtsdaten können nicht abgerufen werden.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
reportType ist nicht IID_ILatLongReport oder IID_ICivicAddressReport.
HRESULT_FROM_WIN32(ERROR_NO_DATA)
Es sind keine Daten verfügbar. Dies kann auf einen Fehler oder darauf zurückzuführen sein, dass der Anbieter nicht verfügbar ist.
E_POINTER
ppLocationReport ist NULL.
E_INVALIDARG
reportType ist IID_ILatLongReport, und der Breiten- oder Längengrad ist außerhalb der Grenzen.
E_FAIL
Der zugrunde liegende Sensor ist NULL oder getrennt.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

Hinweise

ILocationReport ist die Basisschnittstelle für bestimmte Standortberichtstypen. Rufen Sie QueryInterface auf, um einen Zeiger auf den richtigen Berichtstyp abzurufen.

Wenn GetReport aufgerufen wird, kann dies dazu führen, dass eine Benachrichtigung in der Taskleiste angezeigt wird und ein Location Activity-Ereignis Ereignisanzeige protokolliert wird, wenn es sich um die erste Verwendung des Speicherorts durch die Anwendung handelt.

Hinweis Wenn eine Anwendung zum ersten Mal gestartet wird oder ein neuer Standortsensor aktiviert ist, meldet GetReportStatus möglicherweise eine status von REPORT_RUNNING, kurz bevor der neue Standortbericht verfügbar ist. Daher kann ein anfänglicher Aufruf von GetReport einen Fehler (ERROR_NO_DATA) oder einen Wert zurückgeben, der nicht vom erwarteten Standortsensor stammt, auch wenn GetReportStatus eine status von REPORT_RUNNING angibt. Eine Beschreibung einer Problemumgehung für dieses Problem finden Sie unter GetReportStatus .
 

Beispiele

Im folgenden Beispiel wird GetReport für Breiten-/Längengradberichte aufgerufen, und es wird veranschaulicht, wie QueryInterface aufgerufen wird, um einen Zeiger auf den angegebenen Berichtstyp abzurufen.

CComPtr<ILocationReport> spLocationReport; // This is our location report object
CComPtr<ILatLongReport> spLatLongReport; // This is our LatLong report object

// Get the current latitude/longitude location report,
hr = spLocation->GetReport(IID_ILatLongReport, &spLocationReport);
// then get a pointer to the ILatLongReport interface by calling QueryInterface
if (SUCCEEDED(hr))
{
    hr = spLocationReport->QueryInterface(&spLatLongReport);
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps],Windows 7
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile locationapi.h
DLL LocationAPI.dll