Freigeben über


IDefaultLocation::SetReport-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 . ]

Legt den Standardspeicherort fest.

Syntax

HRESULT SetReport(
  [in] REFIID          reportType,
  [in] ILocationReport *pLocationReport
);

Parameter

[in] reportType

REFIID , die die Schnittstellen-ID des Berichtstyps darstellt, der mit pLocationReport übergeben wird.

[in] pLocationReport

Zeiger auf die ILocationReport-instance, die den Speicherortbericht des Standardspeicherortanbieters enthält.

Rückgabewert

Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabewert BESCHREIBUNG
S_OK
Der Standortbericht wurde erfolgreich festgelegt.
E_INVALIDARG
Der Speicherortbericht enthält ungültige Daten. Dies kann der Fall sein, wenn ein Bürgeradressenbericht keinen gültigen zweistelligen Länder- oder Regionscode IS0 3166 enthält oder wenn ein Breiten-/Längengradbericht keinen Breitengrad zwischen -90 und 90 oder keinen Längengrad zwischen -180 und 180 enthält.
E_ACCESSDENIED
Der Benutzer verfügt nicht über die Berechtigung zum Festlegen des Standardspeicherorts.

Hinweise

ILocationReport ist die Basisschnittstelle bestimmter Standortberichtstypen. Die tatsächliche Schnittstelle, die Sie für pLocationReport verwenden, muss mit dem Typ übereinstimmen, den Sie über reportType angeben.

Beachten Sie, dass der durch reportType angegebene Typ die IID von ICivicAddressReport oder ILatLongReport sein muss.

Der in einem Breiten-/Längengrad-Bericht angegebene Breiten- und Längengrad muss einem Standort auf dem Globus entsprechen. Andernfalls gibt diese Methode einen HRESULT-Fehlerwert zurück.

Hinweis Eine Anwendung empfängt nicht das erwartete Standortänderungsereignis von OnLocationChanged , wenn beide der folgenden Bedingungen erfüllt sind. Zunächst wird die Anwendung als Dienst im Kontext des LOCALSERVICE-, SYSTEM- oder NETWORKSERVICE-Benutzerkontos ausgeführt. Zweitens resultiert das Standortänderungsereignis aus dem Ändern des Standardspeicherorts, entweder manuell, wenn der Benutzer Standardspeicherort in Systemsteuerung auswählt, oder programmgesteuert, wenn eine Anwendung IDefaultLocation::SetReport aufruft.
 

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie den Standardspeicherort mithilfe eines Bürgeradressenberichts festlegen.

            // set the civic address fields of the Default Location
            hr = spDefaultLocation->SetReport(IID_ICivicAddressReport, spCivicAddressReport);
            if (E_INVALIDARG == hr)
            {
                wprintf(L"The civic address report has invalid data. ");
                wprintf(L"Country/region must be a valid ISO-3166 2-letter or 3-letter code.\n");
            }
            else if (E_ACCESSDENIED == hr)
            {
                wprintf(L"Administrator privilege required.\n");
            }

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

Weitere Informationen

IDefaultLocation