ISensorClassExtension::P ostEvent メソッド (sensorsclassextension.h)
ISensorClassExtension::P ostEvent メソッドは、センサー クラス拡張機能で 1 つ以上のドライバー イベントを発生させます。
構文
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) | 現在、イベントにサブスクライブされているクライアント プログラムはありません。 クライアントがサブスクライブされていない場合は、イベントを投稿しないでください。 |
注釈
センサー クラス拡張機能は、これらのイベントを Sensor API と Location API に転送し、クライアント プログラムでイベントを発生させます。
pEventCollection を介して渡されるコレクションには、1 つ以上のイベントを含めることができます。 1 つの IPortableDeviceValues オブジェクトを使用して、各イベントとその関連データを表します。 イベントとデータ型のプラットフォーム定義 PROPERTYKEYは、sensors.h で定義されます。
このメソッドによって返される各 IPortableDeviceValues オブジェクトには、 SENSOR_CATEGORY_ALLで説明されているように、タイム スタンプが含まれている必要があります。
センサー クラス拡張機能は、このメソッドによって提供されるすべての PROPVARIANT 構造体を解放する役割を担います。
イベントの種類を指定するには、SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY を適切な GUID 値と共に使用します。
イベント スレッドを作成するクラスの例については、「センサー イベントの発生」を参照してください。
IPortableDeviceValues と IPortableDeviceValuesCollection については、「Windows ポータブル デバイス」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | sensorsclassextension.h |
Library | SensorsClassExtension.lib |