Compartir a través de


Método ILocation::SetReportInterval (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 . ]

Especifica la cantidad mínima de tiempo solicitada, en milisegundos, entre eventos de informe.

Sintaxis

HRESULT SetReportInterval(
  [in] REFIID reportType,
  [in] DWORD  millisecondsRequested
);

Parámetros

[in] reportType

REFIID que especifica el tipo de informe para el que se va a establecer el intervalo.

[in] millisecondsRequested

DWORD que contiene el valor del intervalo de informe, en milisegundos. Si este valor es cero, no se especifica ningún intervalo mínimo y la aplicación recibe eventos en el intervalo predeterminado del sensor de ubicación.

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.
HRESULT_FROM_WIN32(ERROR_INVALID_STATE)
El autor de la llamada no está registrado para recibir eventos para el tipo de informe especificado.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
reportType no era IID_ILatLongReport o IID_ICivicAddressReport.

Comentarios

El intervalo que solicita mediante este método representa la cantidad de tiempo más corta entre eventos. Esto significa que solicita recibir notificaciones de eventos no con más frecuencia de lo especificado, pero el tiempo transcurrido puede ser significativamente mayor. Use este método para garantizar que las notificaciones de eventos no usen más recursos de procesador de los necesarios.

No se garantiza que el proveedor de ubicación establecerá la solicitud para un intervalo de informe determinado. Llame a GetReportInterval para detectar la configuración del intervalo de informe verdadero.

Un intervalo de informe de cero significa que no se especifica ningún intervalo mínimo y la aplicación puede recibir eventos con la frecuencia con la que el sensor de ubicación envía eventos.

Ejemplos

En el ejemplo siguiente se muestra cómo llamar a SetReportInterval.


// Set the latitude/longitude report interval to 1000 milliseconds
HRESULT hr = spLocation->SetReportInterval(IID_ILatLongReport, 1000);

Requisitos

   
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

Consulte también

ILocation