ILocation::SetReportInterval 方法 (locationapi.h)

[Win32 位置 API 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 Windows.Devices.Geolocation API。 ]

指定报告事件之间请求的最短时间量(以毫秒为单位)。

语法

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

parameters

[in] reportType

REFIID ,指定要为其设置间隔的报表类型。

[in] millisecondsRequested

包含报告间隔值的 DWORD(以毫秒为单位)。 如果此值为零,则不指定最小间隔,应用程序将按位置传感器的默认间隔接收事件。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
HRESULT_FROM_WIN32 (ERROR_INVALID_STATE)
调用方未注册以接收指定报表类型的事件。
HRESULT_FROM_WIN32 (ERROR_NOT_SUPPORTED)
reportType非IID_ILatLongReportIID_ICivicAddressReport

注解

使用此方法请求的间隔表示事件之间的最短时间。 这意味着,请求接收事件通知的频率不会超过指定的频率,但已用时间可能会长得多。 使用此方法可帮助确保事件通知使用的处理器资源不会超过所需的资源。

不保证特定报告间隔的请求将由位置提供程序设置。 调用 GetReportInterval 以发现真正的报表间隔设置。

报告间隔为零意味着未指定最小间隔,应用程序可能会以位置传感器发送事件的频率接收事件。

示例

以下示例演示如何调用 SetReportInterval


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

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用],Windows 7
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 locationapi.h
DLL LocationAPI.dll

另请参阅

ILocation