ホーム › Devices.FunctionDiscovery › IFunctionDiscoveryNotification
IFunctionDiscoveryNotification
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT OnUpdate(QueryUpdateAction enumQueryUpdateAction, ULONGLONG fdqcQueryContext, IFunctionInstance* pIFunctionInstance)
| enumQueryUpdateAction | QueryUpdateAction | in | インスタンスの追加・変更・削除など更新内容を示すQueryUpdateAction列挙値。 |
| fdqcQueryContext | ULONGLONG | in | クエリ作成時に割り当てられたコンテキスト識別子。 |
| pIFunctionInstance | IFunctionInstance* | in | 更新対象の関数インスタンスを表すIFunctionInstanceインターフェイス。 |
| hr | HRESULT | in | 発生したエラーを示すHRESULT値。 |
| fdqcQueryContext | ULONGLONG | in | エラーが発生したクエリのコンテキスト識別子。 |
| pszProvider | LPWSTR | in | エラーを報告したプロバイダーの名前。 |
| dwEventID | DWORD | in | プロバイダーが発生させたイベントを識別するID。 |
| fdqcQueryContext | ULONGLONG | in | イベントに関連するクエリのコンテキスト識別子。 |
| pszProvider | LPWSTR | in | イベントを報告したプロバイダーの名前。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFunctionDiscoveryNotification "{5F6C1BA8-5330-422E-A368-572B244D3F87}"
#usecom global IFunctionDiscoveryNotification IID_IFunctionDiscoveryNotification "{}"
#comfunc global IFunctionDiscoveryNotification_OnUpdate 3 int,int64,sptr
#comfunc global IFunctionDiscoveryNotification_OnError 4 int,int64,wstr
#comfunc global IFunctionDiscoveryNotification_OnEvent 5 int,int64,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。