Compartilhar via


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

[A API de Localização do Win32 está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. Em vez disso, use a API Windows.Devices.Geolocation . ]

Chamado quando um relatório status é alterado.

Sintaxe

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

Parâmetros

[in] reportType

REFIID que especifica a ID da interface do tipo de relatório para o qual o status foi alterado.

[in] newStatus

Uma constante da enumeração LOCATION_REPORT_STATUS que contém o novo status.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Esse evento fornece status de relatório para novos relatórios. Os relatórios mais recentes permanecem disponíveis por meio de ILocation::GetReport, independentemente do status relatado por esse evento.

Exemplos

Veja a seguir um exemplo de implementação de OnStatusChanged que manipula status eventos alterados para relatórios 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;
}

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho], Windows 7
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho locationapi.h
DLL LocationAPI.dll

Confira também

ILocationEvents