Freigeben über


ILocationEvents::OnStatusChanged-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 . ]

Wird aufgerufen, wenn sich ein Bericht status ändert.

Syntax

HRESULT OnStatusChanged(
  [in] REFIID                 reportType,
  [in] LOCATION_REPORT_STATUS newStatus
);

Parameter

[in] reportType

REFIID, die die Schnittstellen-ID des Berichtstyps angibt, für den die status geändert wurde.

[in] newStatus

Eine Konstante aus der LOCATION_REPORT_STATUS-Enumeration, die die neue status enthält.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Dieses Ereignis stellt berichtsbasierte status für neue Berichte bereit. Die neuesten Berichte bleiben über ILocation::GetReport verfügbar, unabhängig von den von diesem Ereignis gemeldeten status.

Beispiele

Im Folgenden finden Sie eine Beispielimplementierung von OnStatusChanged, die status geänderten Ereignisse für Breiten-/Längengradberichte verarbeitet.

// This is called when the status of a report type changes.
// The LOCATION_REPORT_STATUS enumeration is defined in LocApi.h in the SDK
STDMETHODIMP CLocationEvents::OnStatusChanged(REFIID reportType, LOCATION_REPORT_STATUS status)
{
    if (IID_ILatLongReport == reportType)
    {
        switch (status)
        {
        case REPORT_NOT_SUPPORTED:
            wprintf(L"\nNo devices detected.\n");
            break;
        case REPORT_ERROR:
            wprintf(L"\nReport error.\n");
            break;
        case REPORT_ACCESS_DENIED:
            wprintf(L"\nAccess denied to reports.\n");
            break;
        case REPORT_INITIALIZING:
            wprintf(L"\nReport is initializing.\n");
            break;
        case REPORT_RUNNING:
            wprintf(L"\nRunning.\n");
            break;
        }
    }
    else if (IID_ICivicAddressReport == reportType)
    {
    }

    return S_OK;
}

Anforderungen

   
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

ILocationEvents