Método ILocation::RequestPermissions (locationapi.h)
[La API de ubicación de Win32 está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. En su lugar, use la API Windows.Devices.Geolocation . ]
Abre un cuadro de diálogo del sistema para solicitar permiso de usuario para habilitar los dispositivos de ubicación.
Sintaxis
HRESULT RequestPermissions(
[in] HWND hParent,
[in] IID *pReportTypes,
[in] ULONG count,
BOOL fModal
);
Parámetros
[in] hParent
HWND para la ventana primaria. Este parámetro es opcional. En Windows 8, el cuadro de diálogo siempre es modal si se proporciona hParent y no modal si hParent es NULL.
[in] pReportTypes
Puntero a una matriz IID . Esta matriz debe contener identificadores de interfaz para todos los tipos de informe para los que solicita permiso. Los identificadores de interfaz de los tipos de informe válidos son IID_ILatLongReport y IID_ICivicAddressReport. El recuento de identificadores debe coincidir con el valor especificado a través del parámetro count .
[in] count
Recuento de identificadores de interfaz contenidos en pReportTypes.
fModal
Este parámetro no se utiliza.
Valor devuelto
Este método puede devolver uno de estos valores.
En la tabla siguiente se describen los códigos de retorno cuando la llamada es sincrónica.
Código devuelto | Descripción |
---|---|
|
Los servicios de ubicación habilitados para el usuario. El método se ha llevado a cabo de forma correcta. |
|
La plataforma de ubicación está deshabilitada. Un administrador ha desactivado la plataforma de ubicación. |
|
El usuario no habilitó el acceso a los servicios de ubicación ni canceló el cuadro de diálogo. |
En la tabla siguiente se describen los códigos de retorno cuando la llamada es asincrónica.
Código devuelto | Descripción |
---|---|
|
El usuario ha habilitado el acceso a los servicios de ubicación. El método se ha llevado a cabo de forma correcta. |
|
Un argumento no es válido. |
|
La plataforma de ubicación está deshabilitada. Un administrador ha desactivado la plataforma de ubicación. No se mostró el cuadro de diálogo. |
Comentarios
Si el usuario decide no habilitar los servicios de ubicación, Windows no volverá a mostrar el cuadro de diálogo permisos.
Ejemplos
En el ejemplo siguiente se muestra cómo llamar a RequestPermissions para solicitar permiso para los informes de latitud y longitud.
// 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");
}
Requisitos
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio],Windows 7 |
Servidor mínimo compatible | No se admite ninguno |
Plataforma de destino | Windows |
Encabezado | locationapi.h |
Archivo DLL | LocationAPI.dll |