ISensorClassExtension::P ostEvent 方法 (sensorsclassextension.h)

ISensorClassExtension::P ostEvent 方法在传感器类扩展中引发一个或多个驱动程序事件。

语法

HRESULT PostEvent(
  LPWSTR                          pwszSensorID,
  IPortableDeviceValuesCollection *pEventCollection
);

参数

pwszSensorID

包含驱动程序为其引发事件的传感器的 ID 的 LPWSTR。

pEventCollection

指向 IPortableDeviceValuesCollection 接口的指针,该接口包含要发布的事件列表及其关联数据。

返回值

此方法返回 HRESULT。 可能的值包括但不限于以下值之一。

返回代码 说明
S_OK 方法成功。
S_FALSE 方法成功,但当前没有客户端程序订阅事件。 当未订阅任何客户端时,请勿发布事件。
E_INVALIDARG 事件集合为空。
E_POINTER 所需的指针参数为 NULL。
HRESULT_FROM_WIN32 (ERROR_CAN_NOT_COMPLETE) 类扩展未初始化。
HRESULT_FROM_WIN32 (ERROR_INTERNAL_DB_CORRUPTION 发生了序列化错误。
HRESULT_FROM_WIN32 (ERROR_OBJECT_NOT_FOUND) 当前没有客户端程序订阅事件。 当未订阅任何客户端时,请勿发布事件。

注解

传感器类扩展将这些事件转发到传感器 API 和位置 API,这反过来又在客户端程序中引发事件。

通过 pEventCollection 传递的集合可以包含一个或多个事件。 使用一个 IPortableDeviceValues 对象表示每个事件及其关联数据。 事件和数据类型的平台定义的 PROPERTYKEY在 sensors.h 中定义。

此方法返回的每个 IPortableDeviceValues 对象都必须包含时间戳,如 SENSOR_CATEGORY_ALL 中所述。

传感器类扩展负责释放此方法提供的任何 PROPVARIANT 结构。

若要指定事件类型,请使用具有相应 GUID 值的SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY

有关创建事件线程的类的示例,请参阅 引发传感器事件

IPortableDeviceValuesIPortableDeviceValuesCollection 记录在 Windows 可移植设备中。

注意 传感器类扩展将为传递给传感器类扩展的 PROPVARIANTs 调用 PropVariantClear。
 
通过调用 ISensorClassExtension::P ostStateChange 引发状态更改事件。

要求

要求
目标平台 Windows
标头 sensorsclassextension.h
Library SensorsClassExtension.lib

另请参阅

ISensorClassExtension