Méthode ILocation::RequestPermissions (locationapi.h)
[L’API d’emplacement Win32 est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Utilisez plutôt l’API Windows.Devices.Geolocation . ]
Ouvre une boîte de dialogue système pour demander à l’utilisateur l’autorisation d’activer les appareils de localisation.
Syntaxe
HRESULT RequestPermissions(
[in] HWND hParent,
[in] IID *pReportTypes,
[in] ULONG count,
BOOL fModal
);
Paramètres
[in] hParent
HWND pour la fenêtre parente. Ce paramètre est facultatif. Dans Windows 8, la boîte de dialogue est toujours modale si hParent est fourni, et non modale si hParent a la valeur NULL.
[in] pReportTypes
Pointeur vers un tableau IID . Ce tableau doit contenir des ID d’interface pour tous les types de rapports pour lesquels vous demandez l’autorisation. Les ID d’interface des types de rapports valides sont IID_ILatLongReport et IID_ICivicAddressReport. Le nombre d’ID doit correspondre à la valeur spécifiée via le paramètre count .
[in] count
Nombre d’ID d’interface contenus dans pReportTypes.
fModal
Ce paramètre n'est pas utilisé.
Valeur retournée
Cette méthode peut retourner l’une de ces valeurs.
Le tableau suivant décrit les codes de retour lorsque l’appel est synchrone.
Code de retour | Description |
---|---|
|
L’utilisateur a activé les services de localisation. S_OK |
|
La plateforme d’emplacement est désactivée. Un administrateur a désactivé la plateforme d’emplacement. |
|
L’utilisateur n’a pas activé l’accès aux services de localisation ou a annulé la boîte de dialogue. |
Le tableau suivant décrit les codes de retour lorsque l’appel est asynchrone.
Code de retour | Description |
---|---|
|
L’utilisateur a activé l’accès aux services de localisation. S_OK |
|
Un argument n’est pas valide. |
|
La plateforme d’emplacement est désactivée. Un administrateur a désactivé la plateforme d’emplacement. La boîte de dialogue n’a pas été affichée. |
Notes
Si l’utilisateur choisit de ne pas activer les services d’emplacement, Windows n’affiche plus la boîte de dialogue autorisations.
Exemples
L’exemple suivant montre comment appeler RequestPermissions pour demander l’autorisation pour les rapports de latitude/longitude.
// 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");
}
Spécifications
Client minimal pris en charge | Windows 7 [applications de bureau uniquement],Windows 7 |
Serveur minimal pris en charge | Aucun pris en charge |
Plateforme cible | Windows |
En-tête | locationapi.h |
DLL | LocationAPI.dll |