ISensorClassExtension::P ostEvent 方法 (sensorsclassextension.h)
ISensorClassExtension::P ostEvent 方法會在感測器類別延伸模組中引發一或多個驅動程式事件。
語法
HRESULT PostEvent(
LPWSTR pwszSensorID,
IPortableDeviceValuesCollection *pEventCollection
);
參數
pwszSensorID
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 物件來表示每個事件及其相關聯的數據。 事件和數據類型的平台定義 PROPERTYKEYs 定義於 sensors.h 中。
這個方法所傳回的每個 IPortableDeviceValues 物件都必須包含時間戳,如 SENSOR_CATEGORY_ALL中所述。
感測器類別延伸模組負責釋放此方法所提供的任何 PROPVARIANT 結構。
若要指定事件類型,請使用具有適當 GUID 值的 SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY。
如需建立事件線程的類別範例,請參閱 引發感測器事件
IPortableDeviceValues 和 IPortableDeviceValuesCollection 記載於 Windows 可攜式裝置中。
注意 感測器類別延伸模組會針對您傳遞給感測器類別延伸模組的 PROPVULT 呼叫 PropVariantClear。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | sensorsclassextension.h |
程式庫 | SensorsClassExtension.lib |