次の方法で共有


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

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

レポート イベント間の要求される最小時間 (ミリ秒単位) を指定します。

構文

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

パラメーター

[in] reportType

間隔を設定するレポートの種類を指定する REFIID

[in] millisecondsRequested

レポート間隔の値を含む DWORD (ミリ秒単位)。 この値が 0 の場合、最小間隔は指定されておらず、アプリケーションはロケーション センサーの既定の間隔でイベントを受信します。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
HRESULT_FROM_WIN32(ERROR_INVALID_STATE)
呼び出し元は、指定されたレポートの種類のイベントを受信するように登録されていません。
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
reportType、IID_ILatLongReport または IID_ICivicAddressReport以外でした。

解説

このメソッドを使用して要求する間隔は、イベント間の最短の時間を表します。 つまり、イベント通知の受信を要求する頻度は指定したよりも長くなりますが、経過時間が大幅に長くなる可能性があります。 イベント通知で必要以上のプロセッサ リソースが使用されないようにするには、このメソッドを使用します。

特定のレポート間隔に対する要求が場所プロバイダーによって設定される保証はありません。 GetReportInterval を呼び出して、真のレポート間隔の設定を検出します。

レポート間隔が 0 の場合は、最小間隔が指定されていないことを意味し、アプリケーションは、場所センサーがイベントを送信する頻度でイベントを受信できます。

次の例では、 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