Compartir a través de


Método ILocation::GetReport (locationapi.h)

[La API de ubicación de Win32 está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. En su lugar, use la API Windows.Devices.Geolocation . ]

Recupera un informe de ubicación.

Sintaxis

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

Parámetros

[in] reportType

REFIID que especifica el tipo de informe que se va a recuperar.

[out] ppLocationReport

Dirección de un puntero a ILocationReport que recibe el informe de ubicación especificado.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_ACCESSDENIED
El proveedor de ubicación tiene permisos deshabilitados y no se pueden recuperar los datos del informe.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
reportType es distinto de IID_ILatLongReport o IID_ICivicAddressReport.
HRESULT_FROM_WIN32(ERROR_NO_DATA)
No hay datos disponibles. Esto puede deberse a un error o debido a que el proveedor no está disponible.
E_POINTER
ppLocationReport es NULL.
E_INVALIDARG
reportType es IID_ILatLongReport y el valor de latitud o longitud está fuera de los límites.
E_FAIL
El sensor subyacente es NULL o está desconectado.
E_OUTOFMEMORY
Memoria insuficiente

Comentarios

ILocationReport es la interfaz base para tipos de informe de ubicación específicos. Llame a QueryInterface para recuperar un puntero al tipo de informe correcto.

Cuando se llama a GetReport, puede provocar que se muestre una notificación en la barra de tareas y que se registre un evento de actividad de ubicación en Visor de eventos, si es el primer uso de la ubicación de la aplicación.

Nota Cuando se inicia por primera vez una aplicación o cuando se habilita un nuevo sensor de ubicación, GetReportStatus puede notificar un estado de REPORT_RUNNING poco antes de que el nuevo informe de ubicación esté disponible. Por lo tanto, una llamada inicial a GetReport puede devolver un error (ERROR_NO_DATA) o un valor que no procede del sensor de ubicación esperado, incluso si GetReportStatus indica un estado de REPORT_RUNNING. Consulte GetReportStatus para obtener una descripción de una solución alternativa para este problema.
 

Ejemplos

En el ejemplo siguiente se llama a GetReport para informes de latitud y longitud y se muestra cómo llamar a QueryInterface para recuperar un puntero al tipo de informe especificado.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio],Windows 7
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado locationapi.h
Archivo DLL LocationAPI.dll