Condividi tramite


Metodo ILocation::GetReport (locationapi.h)

[L'API Percorso 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 . ]

Recupera un report sulla posizione.

Sintassi

HRESULT GetReport(
  [in]  REFIID          reportType,
  [out] ILocationReport **ppLocationReport
);

Parametri

[in] reportType

REFIID che specifica il tipo di report da recuperare.

[out] ppLocationReport

Indirizzo di un puntatore a ILocationReport che riceve il report di posizione specificato.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_ACCESSDENIED
Non è possibile recuperare i dati del provider di percorsi disabilitati e del report.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
reportType è diverso da IID_ILatLongReport o IID_ICivicAddressReport.
HRESULT_FROM_WIN32(ERROR_NO_DATA)
Non sono disponibili dati. Questo può essere dovuto a un errore o a causa del provider non disponibile.
E_POINTER
ppLocationReport è NULL.
E_INVALIDARG
reportType è IID_ILatLongReport e il valore di latitudine o longitudine non è limitato.
E_FAIL
Il sensore sottostante è NULL o disconnesso.
E_OUTOFMEMORY
Memoria insufficiente.

Commenti

ILocationReport è l'interfaccia di base per tipi di report di posizione specifici. Chiamare QueryInterface per recuperare un puntatore al tipo di report corretto.

Quando viene chiamato GetReport, può causare la visualizzazione di una notifica nella barra delle applicazioni e un evento Dell'attività percorso in cui è stato eseguito l'accesso Visualizzatore eventi, se è il primo uso della posizione dell'applicazione.

Nota Quando un'applicazione viene avviata per la prima volta o quando è abilitato un nuovo sensore di posizione, GetReportStatus potrebbe segnalare uno stato di REPORT_RUNNING poco prima che il nuovo report del percorso sia disponibile. Pertanto, una chiamata iniziale a GetReport può restituire un errore (ERROR_NO_DATA) o un valore non proveniente dal sensore di posizione previsto, anche se GetReportStatus indica uno stato di REPORT_RUNNING. Vedere GetReportStatus per una descrizione di una soluzione alternativa per questo problema.
 

Esempio

Nell'esempio seguente viene chiamato GetReport per i report di latitudine/longitudine e viene illustrato come chiamare QueryInterface per recuperare un puntatore al tipo di report specificato.

CComPtr<ILocationReport> spLocationReport; // This is our location report object
CComPtr<ILatLongReport> spLatLongReport; // This is our LatLong report object

// Get the current latitude/longitude location report,
hr = spLocation->GetReport(IID_ILatLongReport, &spLocationReport);
// then get a pointer to the ILatLongReport interface by calling QueryInterface
if (SUCCEEDED(hr))
{
    hr = spLocationReport->QueryInterface(&spLatLongReport);
}

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