Compartilhar via


Método ILocation::SetReportInterval (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 . ]

Especifica a quantidade mínima de tempo solicitada, em milissegundos, entre eventos de relatório.

Sintaxe

HRESULT SetReportInterval(
  [in] REFIID reportType,
  [in] DWORD  millisecondsRequested
);

Parâmetros

[in] reportType

REFIID que especifica o tipo de relatório para o qual definir o intervalo.

[in] millisecondsRequested

DWORD que contém o valor do intervalo de relatório, em milissegundos. Se esse valor for zero, nenhum intervalo mínimo será especificado e seu aplicativo receberá eventos no intervalo padrão do sensor de localização.

Valor retornado

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
HRESULT_FROM_WIN32(ERROR_INVALID_STATE)
O chamador não está registrado para receber eventos para o tipo de relatório especificado.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
reportType era diferente de IID_ILatLongReport ou IID_ICivicAddressReport.

Comentários

O intervalo que você solicita usando esse método representa a menor quantidade de tempo entre eventos. Isso significa que você solicita receber notificações de evento não com mais frequência do que o especificado, mas o tempo decorrido pode ser significativamente maior. Use esse método para ajudar a garantir que as notificações de evento não usem mais recursos de processador do que o necessário.

Não é garantido que sua solicitação para um intervalo de relatório específico será definida pelo provedor de localização. Chame GetReportInterval para descobrir a configuração de intervalo de relatório verdadeiro.

Um intervalo de relatório de zero significa que nenhum intervalo mínimo é especificado e o aplicativo pode receber eventos na frequência em que o sensor de localização envia eventos.

Exemplos

O exemplo a seguir demonstra como chamar SetReportInterval.


// Set the latitude/longitude report interval to 1000 milliseconds
HRESULT hr = spLocation->SetReportInterval(IID_ILatLongReport, 1000);

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

ILocation