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 对象来表示每个事件及其关联的数据。 在 sensors.h 中定义平台定义的 PROPERTYKEY事件和数据类型。

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

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

若要指定事件类型,请将 SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY 与相应的 GUID 值一起使用。

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

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

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

要求

要求 价值
目标平台 窗户
标头 sensorsclassextension.h
SensorsClassExtension.lib

另请参阅

ISensorClassExtension