共用方式為


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

如需建立事件線程的類別範例,請參閱 引發感測器事件

IPortableDeviceValuesIPortableDeviceValuesCollection 記載於 Windows 可攜式裝置中。

注意 感測器類別延伸模組會針對您傳遞給感測器類別延伸模組的 PROPVULT 呼叫 PropVariantClear。
 
呼叫 ISensorClassExtension::P ostStateChange 來引發狀態變更事件。

規格需求

需求
目標平台 Windows
標頭 sensorsclassextension.h
程式庫 SensorsClassExtension.lib

另請參閱

ISensorClassExtension