Partager via


Méthode IDefaultLocation ::SetReport (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 . ]

Définit l’emplacement par défaut.

Syntaxe

HRESULT SetReport(
  [in] REFIID          reportType,
  [in] ILocationReport *pLocationReport
);

Paramètres

[in] reportType

REFIID qui représente l’ID d’interface du type de rapport transmis à l’aide de pLocationReport.

[in] pLocationReport

Pointeur vers le instance ILocationReport qui contient le rapport d’emplacement du fournisseur d’emplacement par défaut.

Valeur retournée

Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Valeur retournée Description
S_OK
Le rapport d’emplacement a été correctement défini.
E_INVALIDARG
Le rapport d’emplacement contient des données non valides. Cela peut se produire lorsqu’un rapport d’adresse municipale ne contient pas de code de pays ou de région is0 3166 à deux lettres valide, ou lorsqu’un rapport de latitude/longitude ne contient pas de latitude comprise entre -90 et 90 ou ne contient pas de longitude comprise entre -180 et 180.
E_ACCESSDENIED
L’utilisateur n’a pas l’autorisation de définir l’emplacement par défaut.

Remarques

ILocationReport est l’interface de base de types de rapports d’emplacement spécifiques. L’interface réelle que vous utilisez pour pLocationReport doit correspondre au type que vous spécifiez via reportType.

Notez que le type spécifié par reportType doit être l’IID de ICivicAddressReport ou ILatLongReport.

La latitude et la longitude fournies dans un rapport de latitude/longitude doivent correspondre à un emplacement sur le globe. Sinon, cette méthode retourne une valeur d’erreur HRESULT .

Note Une application ne reçoit pas l’événement de changement d’emplacement attendu de OnLocationChanged si les deux conditions suivantes sont remplies. Tout d’abord, l’application s’exécute en tant que service, dans le contexte du compte d’utilisateur LOCALSERVICE, SYSTEM ou NETWORKSERVICE. Deuxièmement, l’événement de changement d’emplacement résulte de la modification de l’emplacement par défaut, soit manuellement lorsque l’utilisateur sélectionne Emplacement par défaut dans Panneau de configuration, soit par programmation lorsqu’une application appelle IDefaultLocation ::SetReport.
 

Exemples

L’exemple suivant montre comment définir l’emplacement par défaut à l’aide d’un rapport d’adresse civique.

            // set the civic address fields of the Default Location
            hr = spDefaultLocation->SetReport(IID_ICivicAddressReport, spCivicAddressReport);
            if (E_INVALIDARG == hr)
            {
                wprintf(L"The civic address report has invalid data. ");
                wprintf(L"Country/region must be a valid ISO-3166 2-letter or 3-letter code.\n");
            }
            else if (E_ACCESSDENIED == hr)
            {
                wprintf(L"Administrator privilege required.\n");
            }

Configuration requise

Condition requise Valeur
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

Voir aussi

IDefaultLocation