Метод ILocation::GetReport (locationapi.h)
[API расположения Win32 доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте API Windows.Devices.Geolocation . ]
Извлекает отчет о расположении.
Синтаксис
HRESULT GetReport(
[in] REFIID reportType,
[out] ILocationReport **ppLocationReport
);
Параметры
[in] reportType
REFIID , указывающий тип извлекаемого отчета.
[out] ppLocationReport
Адрес указателя на ILocationReport , который получает указанный отчет о расположении.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
У поставщика расположений отключены разрешения, и данные отчета не могут быть получены. |
|
параметр reportType отличается от IID_ILatLongReport или IID_ICivicAddressReport. |
|
Данные недоступны. Это может быть вызвано ошибкой или недоступности поставщика. |
|
ppLocationReport имеет значение NULL. |
|
параметр reportType IID_ILatLongReport, а значение широты или долготы выходит за пределы границ. |
|
Базовый датчик имеет значение NULL или отключен. |
|
Недостаточно памяти. |
Комментарии
ILocationReport — это базовый интерфейс для конкретных типов отчетов о расположении. Вызовите QueryInterface , чтобы получить указатель на правильный тип отчета.
Вызов GetReport может привести к отображению уведомления на панели задач и регистрации события действия расположения Просмотр событий, если это первое использование расположения приложением.
Примеры
В следующем примере метод GetReport вызывается для отчетов о широте и долготе и демонстрируется, как вызвать QueryInterface для получения указателя на указанный тип отчета.
CComPtr<ILocationReport> spLocationReport; // This is our location report object
CComPtr<ILatLongReport> spLatLongReport; // This is our LatLong report object
// Get the current latitude/longitude location report,
hr = spLocation->GetReport(IID_ILatLongReport, &spLocationReport);
// then get a pointer to the ILatLongReport interface by calling QueryInterface
if (SUCCEEDED(hr))
{
hr = spLocationReport->QueryInterface(&spLatLongReport);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения],Windows 7 |
Минимальная версия сервера | Ни одна версия не поддерживается |
Целевая платформа | Windows |
Header | locationapi.h |
DLL | LocationAPI.dll |