Metodo ISensorManager::RequestPermissions (sensorsapi.h)
Apre una finestra di dialogo di sistema per richiedere all'utente l'autorizzazione per accedere ai dati del sensore.
Sintassi
HRESULT RequestPermissions(
[in] HWND hParent,
[in] ISensorCollection *pSensors,
[in] BOOL fModal
);
Parametri
[in] hParent
Per Windows 8, se viene fornito un valore hParent, la finestra di dialogo verrà modale per la finestra padre. Se hParent è NULL, la finestra di dialogo non sarà modale. Il dialogo è sempre sincrono.
Per Windows 7, HWND viene gestito in una finestra che può fungere da elemento padre della finestra di dialogo delle autorizzazioni. Deve essere NULL se fModal è TRUE.
[in] pSensors
Per Windows 8, questo valore non viene usato.
Per Windows 7, pSensors è un puntatore all'interfaccia ISensorCollection che contiene l'elenco di sensori per cui viene richiesta l'autorizzazione.
[in] fModal
Per Windows 8, questo valore non viene usato. Per il controllo della modalità, vedere hParent .
Per Windows 7 , fModal è un valore BOOL che specifica la modalità della finestra di dialogo. Deve essere FALSE se hParent è diverso da null.
Valore restituito
La tabella seguente descrive i codici restituiti per i risultati sincroni.
Codice restituito | Descrizione |
---|---|
|
L'utente ha abilitato i sensori. |
|
L'utente ha scelto di disabilitare i sensori. |
|
L'utente ha annullato la finestra di dialogo o ha rifiutato l'elevazione delle autorizzazioni per visualizzare la finestra di dialogo. |
Nella tabella seguente vengono descritti i codici restituiti per i risultati asincroni.
Codice restituito | Descrizione |
---|---|
|
Tutti i sensori nella raccolta di sensori sono stati visualizzati per consentire all'utente di abilitare. Il metodo è riuscito. |
|
Alcuni sensori nella raccolta di sensori sono stati visualizzati per consentire all'utente di abilitare. Alcuni sensori potrebbero essere stati rimossi dalla raccolta; ad esempio, poiché l'utente ha scelto in precedenza di mantenerli disabilitati. Il metodo è riuscito. |
|
Un argomento non è valido. |
|
Un puntatore è Null. |
|
Tutti i sensori nella raccolta di sensori sono stati precedentemente disabilitati dall'utente. La finestra di dialogo non è stata visualizzata. |
Commenti
Effettuare una chiamata sincrona dal thread dell'interfaccia utente di un'applicazione Windows può bloccare il thread dell'interfaccia utente e rendere l'applicazione meno reattiva. Per evitare questo problema, non chiamare questo metodo dal thread dell'interfaccia utente con fModal impostato su TRUE.
Se un'applicazione o un plug-in in in esecuzione in modalità protetta, ad esempio un oggetto helper browser (BHO) per Internet Explorer quando Internet Explorer è in esecuzione in modalità protetta, chiama RequestPermissions e l'utente sceglie l'opzione Non abilitare questo sensore di posizione nella finestra di dialogo, Windows visualizzerà nuovamente la finestra di dialogo se RequestPermissions viene chiamato nuovamente dallo stesso utente. Le applicazioni eseguite in modalità protetta possono scegliere di evitare di chiamare RequestPermissions all'avvio in modo che l'utente non venga sottoposto a una possibile finestra di dialogo indesiderata ogni volta che l'applicazione viene avviata.
Esempio
Il codice di esempio seguente richiede autorizzazioni per tutti i sensori recuperati dal gestore sensori, per tipo, usando una chiamata asincrona al metodo. La piattaforma richiederà solo all'utente di abilitare i sensori che non sono già abilitati. Per determinare se l'utente ha abilitato tutti i sensori in questo caso, è necessario gestire l'evento ISensorEvents::OnStateChanged . Per altri esempi che illustrano come richiedere le autorizzazioni, vedere Richiesta di autorizzazioni utente.
// 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);
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Nessuno supportato |
Piattaforma di destinazione | Windows |
Intestazione | sensorsapi.h |
Libreria | Sensorsapi.lib |
DLL | Sensorsapi.dll |