Condividi tramite


Metodo IDefaultLocation::SetReport (locationapi.h)

[L'API Location Win32 è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Usare invece l'API Windows.Devices.Geolocation . ]

Imposta il percorso predefinito.

Sintassi

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

Parametri

[in] reportType

REFIID che rappresenta l'ID interfaccia del tipo di report passato tramite pLocationReport.

[in] pLocationReport

Puntatore all'istanza ILocationReport che contiene il report del percorso dal provider di percorsi predefinito.

Valore restituito

I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Valore restituito Descrizione
S_OK
Il report relativo alla posizione è stato impostato correttamente.
E_INVALIDARG
Il report sulla posizione contiene dati non validi. Questo problema può verificarsi quando un rapporto indirizzo civico non contiene un codice is 0 3166 a due lettere oppure quando un rapporto di latitudine/longitudine non contiene una latitudine compresa tra -90 e 90 o non contiene una longitudine compresa tra -180 e 180.
E_ACCESSDENIED
L'utente non dispone dell'autorizzazione per impostare il percorso predefinito.

Commenti

ILocationReport è l'interfaccia di base di tipi di report di posizione specifici. L'interfaccia effettiva usata per pLocationReport deve corrispondere al tipo specificato tramite reportType.

Si noti che il tipo specificato da reportType deve essere l'IID di ICivicAddressReport o ILatLongReport.

La latitudine e la longitudine fornite in un report di latitudine/longitudine devono corrispondere a una posizione nel globo. In caso contrario, questo metodo restituisce un valore di errore HRESULT .

Nota Un'applicazione non riceve l'evento di modifica della posizione previsto da OnLocationChanged se entrambe le condizioni seguenti sono vere. In primo luogo, l'applicazione viene eseguita come servizio, nel contesto dell'account utente LOCALSERVICE, SYSTEM o NETWORKSERVICE. In secondo luogo, l'evento di modifica della posizione comporta la modifica del percorso predefinito, manualmente quando l'utente seleziona Posizione predefinita in Pannello di controllo o a livello di codice quando un'applicazione chiama IDefaultLocation::SetReport.
 

Esempio

Nell'esempio seguente viene illustrato come impostare la posizione predefinita usando un rapporto indirizzo civico.

            // 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");
            }

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop],Windows 7
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione locationapi.h
DLL LocationAPI.dll

Vedi anche

IDefaultLocation