Partager via


Méthode ILocationEvents::OnStatusChanged (locationapi.h)

[L’API d’emplacement Win32 est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Utilisez plutôt l’API Windows.Devices.Geolocation . ]

Appelé lorsqu’un rapport status change.

Syntaxe

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

Paramètres

[in] reportType

REFIID qui spécifie l’ID d’interface du type de rapport pour lequel le status a changé.

[in] newStatus

Constante de l’énumération LOCATION_REPORT_STATUS qui contient la nouvelle status.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

Cet événement fournit des status de rapport pour les nouveaux rapports. Les rapports les plus récents restent disponibles via ILocation::GetReport, quelle que soit la status signalée par cet événement.

Exemples

Voici un exemple d’implémentation d’OnStatusChanged qui gère status événements modifiés pour les rapports de latitude/longitude.

// 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;
}

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement],Windows 7
Serveur minimal pris en charge Aucun pris en charge
Plateforme cible Windows
En-tête locationapi.h
DLL LocationAPI.dll

Voir aussi

ILocationEvents