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