ホーム › Devices.Geolocation › LOCATION_REPORT_STATUS
LOCATION_REPORT_STATUS
列挙型メンバー 5
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| REPORT_NOT_SUPPORTED | 0 | 0x0 | 要求されたレポート種別は API でサポートされていません。要求された種別の位置情報プロバイダーがインストールされていません。 |
| REPORT_ERROR | 1 | 0x1 | レポートの作成時にエラーが発生したか、要求された種別の位置情報プロバイダーがデータを提供できません。位置情報プロバイダーが現在使用できない状態であるか、データを取得できない可能性があります。たとえば、GPS センサーが屋内にあり、衛星が捕捉できない場合にこの状態になることがあります。 |
| REPORT_ACCESS_DENIED | 2 | 0x2 | このレポート種別にアクセスする権限が付与されていません。ILocation::RequestPermissions を呼び出してください。 |
| REPORT_INITIALIZING | 3 | 0x3 | レポートは初期化中です。 |
| REPORT_RUNNING | 4 | 0x4 | レポートは実行中です。要求されたレポート種別の新しい位置情報データが利用可能です。 |
公式ドキュメント
[Win32 Location API は、要件セクションに示されているオペレーティング システムで使用できます。以降のバージョンでは変更されるか、使用できなくなる可能性があります。代わりに Windows.Devices.Geolocation API を使用してください。 ]
特定のレポート種別の新しいレポートが取り得る状態を定義します。
解説(Remarks)
これらの値は新しいレポートの状態を表します。報告された状態に関係なく、最新のレポートは ILocation::GetReport を通じて引き続き取得できます。状態が REPORT_RUNNING の場合、レポート内のデータは新しいものです。それ以外の場合、ILocation::GetReport はキャッシュされたデータが利用可能であればそれを返します。
例
次のコード例は、ILocation::GetReportStatus から LOCATION_REPORT_STATUS の値を取得する方法を示します。
// Get the status of this report type
if (SUCCEEDED(spLocation->GetReportStatus(IID_ILatLongReport, &status)))
{
bool fIsNotRunning = true;
switch (status)
{
case REPORT_RUNNING:
// If the status for the current report is running,
// then do not print any additional message.
// Otherwise, print a message indicating that reports may contain cached data.
fIsNotRunning = false;
break;
case REPORT_NOT_SUPPORTED:
wprintf(L"\nThere is no sensor installed for this report type.\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;
}
if (true == fIsNotRunning)
{
wprintf(L"Location reports returned from GetReport contain cached data.\n");
}
}
次のコードは、コールバック関数 ILocationEvents::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;
}
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum LOCATION_REPORT_STATUS : int {
REPORT_NOT_SUPPORTED = 0,
REPORT_ERROR = 1,
REPORT_ACCESS_DENIED = 2,
REPORT_INITIALIZING = 3,
REPORT_RUNNING = 4
} LOCATION_REPORT_STATUS;public enum LOCATION_REPORT_STATUS : int
{
REPORT_NOT_SUPPORTED = 0,
REPORT_ERROR = 1,
REPORT_ACCESS_DENIED = 2,
REPORT_INITIALIZING = 3,
REPORT_RUNNING = 4,
}Public Enum LOCATION_REPORT_STATUS As Integer
REPORT_NOT_SUPPORTED = 0
REPORT_ERROR = 1
REPORT_ACCESS_DENIED = 2
REPORT_INITIALIZING = 3
REPORT_RUNNING = 4
End Enumimport enum
class LOCATION_REPORT_STATUS(enum.IntEnum):
REPORT_NOT_SUPPORTED = 0
REPORT_ERROR = 1
REPORT_ACCESS_DENIED = 2
REPORT_INITIALIZING = 3
REPORT_RUNNING = 4// LOCATION_REPORT_STATUS
pub const REPORT_NOT_SUPPORTED: i32 = 0;
pub const REPORT_ERROR: i32 = 1;
pub const REPORT_ACCESS_DENIED: i32 = 2;
pub const REPORT_INITIALIZING: i32 = 3;
pub const REPORT_RUNNING: i32 = 4;// LOCATION_REPORT_STATUS
const (
REPORT_NOT_SUPPORTED int32 = 0
REPORT_ERROR int32 = 1
REPORT_ACCESS_DENIED int32 = 2
REPORT_INITIALIZING int32 = 3
REPORT_RUNNING int32 = 4
)const
REPORT_NOT_SUPPORTED = 0;
REPORT_ERROR = 1;
REPORT_ACCESS_DENIED = 2;
REPORT_INITIALIZING = 3;
REPORT_RUNNING = 4;// LOCATION_REPORT_STATUS
pub const REPORT_NOT_SUPPORTED: i32 = 0;
pub const REPORT_ERROR: i32 = 1;
pub const REPORT_ACCESS_DENIED: i32 = 2;
pub const REPORT_INITIALIZING: i32 = 3;
pub const REPORT_RUNNING: i32 = 4;const
REPORT_NOT_SUPPORTED* = 0
REPORT_ERROR* = 1
REPORT_ACCESS_DENIED* = 2
REPORT_INITIALIZING* = 3
REPORT_RUNNING* = 4enum LOCATION_REPORT_STATUS : int {
REPORT_NOT_SUPPORTED = 0,
REPORT_ERROR = 1,
REPORT_ACCESS_DENIED = 2,
REPORT_INITIALIZING = 3,
REPORT_RUNNING = 4,
}#define global REPORT_NOT_SUPPORTED 0x0
#define global REPORT_ERROR 0x1
#define global REPORT_ACCESS_DENIED 0x2
#define global REPORT_INITIALIZING 0x3
#define global REPORT_RUNNING 0x4