次の方法で共有


IDefaultLocation::SetReport メソッド (locationapi.h)

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

既定の場所を設定します。

構文

HRESULT SetReport(
  [in] REFIID          reportType,
  [in] ILocationReport *pLocationReport
);

パラメーター

[in] reportType

pLocationReport を使用して渡されるレポートの種類のインターフェイス ID を表す REFIID

[in] pLocationReport

既定の場所プロバイダーからの場所レポートを含む ILocationReport インスタンスへのポインター。

戻り値

有効な値を次の表に示しますが、これ以外にもあります。

戻り値 説明
S_OK
場所レポートが正常に設定されました。
E_INVALIDARG
場所レポートに無効なデータが含まれています。 これは、市民の住所レポートに有効な IS0 3166 の 2 文字の国または地域コードが含まれていない場合、または緯度/経度レポートに -90 から 90 までの緯度が含まれていない場合、または -180 ~ 180 の経度が含まれていない場合に発生する可能性があります。
E_ACCESSDENIED
ユーザーには、既定の場所を設定するアクセス許可がありません。

注釈

ILocationReport は、特定の場所レポートの種類の基本インターフェイスです。 pLocationReport に使用する実際のインターフェイスは、reportType で指定した型と一致する必要があります。

reportType で指定する型はICivicAddressReport または ILatLongReport の IID である必要があります。

緯度/経度レポートで提供される緯度と経度は、地球儀上の場所に対応している必要があります。 それ以外の場合、このメソッドは HRESULT エラー値を返します。

メモ 次の両方の条件に該当する場合、アプリケーションは OnLocationChanged から予期される場所変更イベントを受け取りません。 最初に、アプリケーションは LOCALSERVICE、SYSTEM、または NETWORKSERVICE ユーザー アカウントのコンテキストでサービスとして実行されます。 次に、場所変更イベントは、ユーザーが コントロール パネル の既定の場所を選択したときに手動で、またはアプリケーションが IDefaultLocation::SetReport を呼び出すときにプログラムによって既定の場所を変更した結果です。
 

次の例は、シビック アドレス レポートを使用して既定の場所を設定する方法を示しています。

            // set the civic address fields of the Default Location
            hr = spDefaultLocation->SetReport(IID_ICivicAddressReport, spCivicAddressReport);
            if (E_INVALIDARG == hr)
            {
                wprintf(L"The civic address report has invalid data. ");
                wprintf(L"Country/region must be a valid ISO-3166 2-letter or 3-letter code.\n");
            }
            else if (E_ACCESSDENIED == hr)
            {
                wprintf(L"Administrator privilege required.\n");
            }

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ],Windows 7
サポートされている最小のサーバー サポートなし
対象プラットフォーム Windows
ヘッダー locationapi.h
[DLL] LocationAPI.dll

こちらもご覧ください

IDefaultLocation