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 物件來表示每個事件及其相關聯的數據。 事件和數據類型的平臺定義 PROPERTYKEY定義於 sensors.h 中。

此方法傳回的每個 IPortableDeviceValues 對象都必須包含時間戳,如 SENSOR_CATEGORY_ALL中所述。

感測器類別延伸負責釋放此方法提供的任何 PROPVARIANT 結構。

若要指定事件類型,請使用具有適當 GUID 值的 SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY

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

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

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

要求

要求 價值
目標平臺 窗戶
標頭 sensorsclassextension.h
連結庫 SensorsClassExtension.lib

另請參閱

ISensorClassExtension