次の方法で共有


ILocation::GetReport メソッド (locationapi.h)

[Win32 Location API は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、 Windows.Devices.Geolocation API を使用します。 ]

場所レポートを取得します。

構文

HRESULT GetReport(
  [in]  REFIID          reportType,
  [out] ILocationReport **ppLocationReport
);

パラメーター

[in] reportType

取得するレポートの種類を指定する REFIID

[out] ppLocationReport

指定した場所レポートを受け取る ILocationReport へのポインターのアドレス。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
E_ACCESSDENIED
場所プロバイダーにアクセス許可が無効になっており、レポート データを取得できません。
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
reportType は、 IID_ILatLongReport または IID_ICivicAddressReport以外です。
HRESULT_FROM_WIN32(ERROR_NO_DATA)
使用できるデータはありません。 これは、エラーが原因であるか、プロバイダーが使用できないことが原因である可能性があります。
E_POINTER
ppLocationReportNULL です
E_INVALIDARG
reportType IID_ILatLongReportされ、緯度または経度の値が範囲外です。
E_FAIL
基になるセンサーが NULL であるか、切断されています。
E_OUTOFMEMORY
メモリが不足しています。

注釈

ILocationReport は、特定の場所レポートの種類の基本インターフェイスです。 QueryInterface を呼び出して、正しいレポートの種類へのポインターを取得します。

GetReport が呼び出されると、通知がタスク バーに表示され、Location Activity イベントがイベント ビューアーにログに記録されることがあります (アプリケーションで初めて場所を使用する場合)。

メモ アプリケーションが最初に起動されたとき、または新しい場所センサーが有効になっている場合、 GetReportStatus は、新しい場所レポートが使用可能になる直前に 、REPORT_RUNNING の状態を報告する場合があります。 そのため、 GetReportStatusREPORT_RUNNINGの状態を示している場合でも、 GetReport の最初の呼び出しでは、エラー ( ERROR_NO_DATA) または予期される場所センサーからの値が返される可能性があります。 この問題の回避策の説明については、「 GetReportStatus 」を参照してください。
 

次の例では、緯度/経度レポートに 対して 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
ヘッダー locationapi.h
[DLL] LocationAPI.dll