Compartir a través de


Método ISensorClassExtension::P ostEvent (sensorsclassextension.h)

El método ISensorClassExtension::P ostEvent genera uno o varios eventos de controlador en la extensión de clase sensor.

Sintaxis

HRESULT PostEvent(
  LPWSTR                          pwszSensorID,
  IPortableDeviceValuesCollection *pEventCollection
);

Parámetros

pwszSensorID

LPWSTR que contiene el identificador del sensor para el que el controlador está generando el evento.

pEventCollection

Puntero a una interfaz IPortableDeviceValuesCollection que contiene la lista de eventos que se publican y sus datos asociados.

Valor devuelto

Este método devuelve un HRESULT. Entre los valores posibles se incluyen, entre otros, uno de los siguientes valores.

Código devuelto Descripción
S_OK El método se realizó correctamente.
S_FALSE El método se realizó correctamente, pero actualmente no hay ningún programa cliente suscrito a eventos. No publique eventos cuando no se suscriba ningún cliente.
E_INVALIDARG La colección de eventos estaba vacía.
E_POINTER Un argumento de puntero requerido era NULL.
HRESULT_FROM_WIN32(ERROR_CAN_NOT_COMPLETE) La extensión de clase no se inicializa.
HRESULT_FROM_WIN32(ERROR_INTERNAL_DB_CORRUPTION Error de serialización.
HRESULT_FROM_WIN32(ERROR_OBJECT_NOT_FOUND) Actualmente no hay ningún programa cliente suscrito a eventos. No publique eventos cuando no se suscriba ningún cliente.

Observaciones

La extensión de clase de sensor reenvía estos eventos a sensor API y Location API, que, a su vez, generan eventos en los programas cliente.

La colección que se pasa a través de pEventCollection puede contener uno o varios eventos. Representa cada evento y sus datos asociados mediante un objeto IPortableDeviceValues. Las PROPERTYKEY definidas por la plataformas para eventos y tipos de datos se definen en sensors.h.

Cada objeto IPortableDeviceValues devuelto por este método debe contener una marca de tiempo, como se describe en SENSOR_CATEGORY_ALL.

La extensión de clase sensor es responsable de liberar cualquier estructura PROPVARIANT proporcionada por este método.

Para especificar el tipo de evento, use el PROPERTYKEY de SENSOR_EVENT_PARAMETER_EVENT_ID con el valor GUID de adecuado.

Para obtener un ejemplo de una clase que crea un subproceso de eventos, consulte Generar eventos de sensor

IPortableDeviceValues y IPortableDeviceValuesCollection se documentan en Dispositivos portátiles windows.

Nota La extensión de clase sensor llamará a PropVariantClear para PROPVARIANT que pase a la extensión de clase sensor.
 
Genere eventos de cambio de estado llamando a ISensorClassExtension::P ostStateChange.

Requisitos

Requisito Valor
de la plataforma de destino de Windows
encabezado de sensorsclassextension.h
biblioteca de SensorsClassExtension.lib

Consulte también

ISensorClassExtension