ホーム › Devices.Sensors › ISensorManager
ISensorManager
COMメソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetSensorsByCategory(GUID* sensorCategory, ISensorCollection** ppSensorsFound)
| sensorCategory | GUID* | in | 検索するセンサーカテゴリのGUIDへのポインタ。 |
| ppSensorsFound | ISensorCollection** | out | 該当カテゴリのセンサー群を格納したISensorCollectionを受け取る出力先。 |
vtbl 4 HRESULT GetSensorsByType(GUID* sensorType, ISensorCollection** ppSensorsFound)
| sensorType | GUID* | in | 検索するセンサー種別のGUIDへのポインタ。 |
| ppSensorsFound | ISensorCollection** | out | 該当種別のセンサー群を格納したISensorCollectionを受け取る出力先。 |
| sensorID | GUID* | in | 検索するセンサーの一意なGUIDへのポインタ。 |
| ppSensor | ISensor** | out | 該当するセンサーのISensorを受け取る出力先。 |
vtbl 6 HRESULT SetEventSink(ISensorManagerEvents* pEvents)
| pEvents | ISensorManagerEvents* | inoptional | センサー追加/削除等の通知を受け取るISensorManagerEvents。NULLで解除。 |
vtbl 7 HRESULT RequestPermissions(HWND hParent, ISensorCollection* pSensors, BOOL fModal)
| hParent | HWND | in | 許可ダイアログの親ウィンドウハンドル。NULL可。 |
| pSensors | ISensorCollection* | inoptional | アクセス許可を要求するセンサー群を格納したISensorCollection。 |
| fModal | BOOL | in | ダイアログをモーダル表示するかを指定するBOOL値。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISensorManager "{BD77DB67-45A8-42DC-8D00-6DCF15F8377A}" #usecom global ISensorManager IID_ISensorManager "{77A1C827-FCD2-4689-8915-9D613CC5FA3E}" #comfunc global ISensorManager_GetSensorsByCategory 3 var,sptr #comfunc global ISensorManager_GetSensorsByType 4 var,sptr #comfunc global ISensorManager_GetSensorByID 5 var,sptr #comfunc global ISensorManager_SetEventSink 6 sptr #comfunc global ISensorManager_RequestPermissions 7 sptr,sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISensorManager "{BD77DB67-45A8-42DC-8D00-6DCF15F8377A}" #usecom global ISensorManager IID_ISensorManager "{77A1C827-FCD2-4689-8915-9D613CC5FA3E}" #comfunc global ISensorManager_GetSensorsByCategory 3 sptr,sptr #comfunc global ISensorManager_GetSensorsByType 4 sptr,sptr #comfunc global ISensorManager_GetSensorByID 5 sptr,sptr #comfunc global ISensorManager_SetEventSink 6 sptr #comfunc global ISensorManager_RequestPermissions 7 sptr,sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。