ILocation::RequestPermissions 메서드(locationapi.h)
[Win32 위치 API는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 Windows.Devices.Geolocation API를 사용합니다. ]
위치 디바이스를 사용하도록 설정하는 사용자 권한을 요청하는 시스템 대화 상자를 엽니다.
구문
HRESULT RequestPermissions(
[in] HWND hParent,
[in] IID *pReportTypes,
[in] ULONG count,
BOOL fModal
);
매개 변수
[in] hParent
부모 창에 대한 HWND입니다. 이 매개 변수는 선택 사항입니다. Windows 8에서는 hParent 가 제공된 경우 대화 상자가 항상 모달이고 hParent 가 NULL인 경우 모달이 아닙니다.
[in] pReportTypes
IID 배열에 대한 포인터입니다. 이 배열에는 사용 권한을 요청하는 모든 보고서 형식에 대한 인터페이스 ID가 포함되어야 합니다. 유효한 보고서 형식의 인터페이스 ID는 IID_ILatLongReport IID_ICivicAddressReport. ID 수는 count 매개 변수를 통해 지정된 값과 일치해야 합니다.
[in] count
pReportTypes에 포함된 인터페이스 ID의 수입니다.
fModal
이 매개 변수는 사용되지 않습니다.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
다음 표에서는 호출이 동기식일 때 반환 코드에 대해 설명합니다.
반환 코드 | Description |
---|---|
|
사용자가 사용하도록 설정된 위치 서비스입니다. 메서드가 성공했습니다. |
|
위치 플랫폼을 사용할 수 없습니다. 관리자가 위치 플랫폼을 해제했습니다. |
|
사용자가 위치 서비스에 대한 액세스를 사용하도록 설정하지 않았거나 대화 상자를 취소했습니다. |
다음 표에서는 호출이 비동기일 때 반환 코드에 대해 설명합니다.
반환 코드 | 설명 |
---|---|
|
사용자가 위치 서비스에 대한 액세스를 사용하도록 설정했습니다. 메서드가 성공했습니다. |
|
인수가 잘못된 경우. |
|
위치 플랫폼을 사용할 수 없습니다. 관리자가 위치 플랫폼을 해제했습니다. 대화 상자가 표시되지 않았습니다. |
설명
사용자가 위치 서비스를 사용하도록 설정하지 않도록 선택하면 Windows에서 사용 권한 대화 상자를 다시 표시하지 않습니다.
예제
다음 예제에서는 RequestPermissions 를 호출하여 위도/경도 보고서에 대한 권한을 요청하는 방법을 보여 줍니다.
// Array of report types of interest. Other ones include IID_ICivicAddressReport
IID REPORT_TYPES[] = { IID_ILatLongReport };
// Request permissions for this user account to receive location data for all the
// types defined in REPORT_TYPES (which is currently just one report type)
// The last parameter is not used.
if (FAILED(spLocation->RequestPermissions(
NULL,
REPORT_TYPES,
ARRAYSIZE(REPORT_TYPES),
TRUE)))
{
wprintf(L"Warning: Unable to request permissions.\n");
}
요구 사항
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당],Windows 7 |
지원되는 최소 서버 | 지원되는 버전 없음 |
대상 플랫폼 | Windows |
헤더 | locationapi.h |
DLL | LocationAPI.dll |