Método ISensorManager::RequestPermissions (sensorsapi.h)
Abre un cuadro de diálogo del sistema para solicitar permiso de usuario para acceder a los datos del sensor.
Sintaxis
HRESULT RequestPermissions(
[in] HWND hParent,
[in] ISensorCollection *pSensors,
[in] BOOL fModal
);
Parámetros
[in] hParent
Para Windows 8, si se proporciona un valor hParent, el cuadro de diálogo será modal en la ventana primaria. Si hParent es NULL, el cuadro de diálogo no será modal. El cuadro de diálogo siempre es sincrónico.
Para Windows 7, HWND se controla en una ventana que puede actuar como elemento primario en el cuadro de diálogo permisos. Debe ser NULL si fModal es TRUE.
[in] pSensors
Para Windows 8, este valor no se usa.
Para Windows 7, pSensors es un puntero a la interfaz ISensorCollection que contiene la lista de sensores para los que se solicita el permiso.
[in] fModal
Para Windows 8, este valor no se usa. Consulte hParent para el control de la modalidad.
Para Windows 7, fModal es un BOOL que especifica el modo de cuadro de diálogo. Debe ser FALSE si hParent no es NULL.
Valor devuelto
En la tabla siguiente se describen los códigos de retorno para los resultados sincrónicos.
Código devuelto | Descripción |
---|---|
|
El usuario ha habilitado los sensores. |
|
El usuario eligió deshabilitar los sensores. |
|
El usuario canceló el cuadro de diálogo o rechazó la elevación de permisos para mostrar el cuadro de diálogo. |
En la tabla siguiente se describen los códigos de retorno para los resultados asincrónicos.
Código devuelto | Descripción |
---|---|
|
Todos los sensores de la colección de sensores se mostraron para que el usuario lo habilite. El método se ha llevado a cabo de forma correcta. |
|
Algunos de los sensores de la colección de sensores se mostraron para que el usuario lo habilite. Es posible que algunos sensores se hayan quitado de la colección; por ejemplo, porque el usuario había elegido previamente mantenerlos deshabilitados. El método se ha llevado a cabo de forma correcta. |
|
Un argumento no es válido. |
|
Un puntero es null. |
|
El usuario deshabilitó previamente todos los sensores de la colección de sensores. No se mostró el cuadro de diálogo. |
Comentarios
Realizar una llamada sincrónica desde el subproceso de la interfaz de usuario (UI) de una aplicación Windows puede bloquear el subproceso de interfaz de usuario y hacer que la aplicación tenga menos capacidad de respuesta. Para evitar esto, no llame a este método desde el subproceso de la interfaz de usuario con fModal establecido en TRUE.
Si una aplicación o complemento que se ejecuta en modo protegido, como un objeto auxiliar del explorador (BHO) para Internet Explorer cuando Internet Explorer se ejecuta en modo protegido, llama a RequestPermissions y el usuario elige la opción No habilitar este sensor de ubicación en el cuadro de diálogo, Windows mostrará el cuadro de diálogo de nuevo si requestPermissions lo llama de nuevo el mismo usuario. Las aplicaciones que se ejecutan en modo protegido pueden optar por evitar llamar a RequestPermissions al inicio para que el usuario no esté sujeto a un posible cuadro de diálogo no deseado cada vez que se inicie la aplicación.
Ejemplos
El código de ejemplo siguiente solicita permisos para todos los sensores recuperados del administrador de sensores, por tipo, mediante una llamada de método asincrónico. La plataforma solo pedirá al usuario que habilite los sensores que aún no están habilitados. Para determinar si el usuario ha habilitado sensores en este caso, debe controlar el evento ISensorEvents::OnStateChanged . Para obtener ejemplos adicionales que muestran cómo solicitar permisos, consulte Solicitud de permisos de usuario.
// Get the sensor collection.
hr = pSensorManager->GetSensorsByType(SAMPLE_SENSOR_TYPE_TIME, &pSensorColl);
if(SUCCEEDED(hr))
{
// Request permissions for all sensors
// in the collection.
hr = pSensorManager->RequestPermissions(0, pSensorColl, FALSE);
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | No se admite ninguno |
Plataforma de destino | Windows |
Encabezado | sensorsapi.h |
Library | Sensorsapi.lib |
Archivo DLL | Sensorsapi.dll |