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 VALOR 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 ha llevado a cabo de forma correcta.
S_FALSE El método se realizó correctamente, pero no hay programas cliente suscritos actualmente 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 Se ha producido un 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.

Comentarios

La extensión de clase de sensor reenvía estos eventos a sensor API y Location API, que, a su vez, generan eventos en 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 . PropertyKEY definidos por la plataforma 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 SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY con el valor GUID adecuado.

Para obtener un ejemplo de una clase que crea un subproceso de eventos, consulte Generación de eventos de sensor.

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

Nota La extensión de clase sensor llamará a PropVariantClear para PROPVARIANTs que pases a la extensión de clase del sensor.
 
Genere eventos de cambio de estado mediante una llamada a ISensorClassExtension::P ostStateChange.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado sensorsclassextension.h
Library SensorsClassExtension.lib

Consulte también

ISensorClassExtension