Поделиться через


Метод ILocation::SetReportInterval (locationapi.h)

[API расположения Win32 доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте API Windows.Devices.Geolocation . ]

Указывает запрошенное минимальное время (в миллисекундах) между событиями отчета.

Синтаксис

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

Параметры

[in] reportType

REFIID , указывающий тип отчета, для которого устанавливается интервал.

[in] millisecondsRequested

DWORD , содержащий значение интервала отчета в миллисекундах. Если это значение равно нулю, минимальный интервал не указан, и приложение получает события в интервале по умолчанию датчика расположения.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
HRESULT_FROM_WIN32(ERROR_INVALID_STATE)
Вызывающий объект не зарегистрирован для получения событий для указанного типа отчета.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
параметр reportType отличается от IID_ILatLongReport или IID_ICivicAddressReport.

Комментарии

Интервал, запрашиваемый с помощью этого метода, представляет собой кратчайший промежуток времени между событиями. Это означает, что вы запрашиваете уведомления о событиях не чаще, чем указано, но затраченное время может быть значительно больше. Используйте этот метод, чтобы уведомления о событиях не использовали больше ресурсов процессора, чем необходимо.

Поставщиком расположения не гарантируется, что ваш запрос на определенный интервал отчета будет задан. Вызовите Метод GetReportInterval , чтобы обнаружить истинный параметр интервала отчета.

Интервал отчета, равный нулю, означает, что минимальный интервал не указан, и приложение может получать события с той частотой, с чем датчик расположения отправляет события.

Примеры

В следующем примере показано, как вызвать SetReportInterval.


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

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения],Windows 7
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header locationapi.h
DLL LocationAPI.dll

См. также раздел

ILocation