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 值一起使用。
有关创建事件线程的类的示例,请参阅 引发传感器事件
IPortableDeviceValues 和 IPortableDeviceValuesCollection 记录在 Windows 可移植设备中。
注意 传感器类扩展将调用传递给传感器类扩展的 PROPVariantClear for PROPVARIANT。
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | sensorsclassextension.h |
库 | SensorsClassExtension.lib |