[Win32 位置 API 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 Windows.Devices.Geolocation API。 ]
在报表状态更改时调用。
语法
HRESULT OnStatusChanged(
  [in] REFIID                 reportType,
  [in] LOCATION_REPORT_STATUS newStatus
);
parameters
[in] reportType
REFIID ,指定其状态已更改的报表类型的接口 ID。
[in] newStatus
包含新状态的 LOCATION_REPORT_STATUS 枚举中的常量。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
此事件提供新报表的报表状态。 无论此事件报告的状态如何,最新的报告仍可通过 ILocation::GetReport 获得。
示例
下面是 OnStatusChanged 的示例实现,用于处理纬度/经度报表的状态更改事件。
// 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;
}
要求
| 最低受支持的客户端 | Windows 7 [仅限桌面应用],Windows 7 | 
| 最低受支持的服务器 | 无受支持的版本 | 
| 目标平台 | Windows | 
| 标头 | locationapi.h | 
| DLL | LocationAPI.dll |