ホーム › UI.Accessibility › IUIAutomationRegistrar
IUIAutomationRegistrar
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT RegisterProperty(UIAutomationPropertyInfo* property, INT* propertyId)
| property | UIAutomationPropertyInfo* | in | 登録するカスタムプロパティの定義(GUID・名前・型)を渡す UIAutomationPropertyInfo へのポインタである。 |
| propertyId | INT* | out | 登録されたプロパティに割り当てられた識別子を受け取る INT へのポインタである。 |
vtbl 4 HRESULT RegisterEvent(UIAutomationEventInfo* event, INT* eventId)
| event | UIAutomationEventInfo* | in | 登録するカスタムイベントの定義(GUID・名前)を渡す UIAutomationEventInfo へのポインタである。 |
| eventId | INT* | out | 登録されたイベントに割り当てられた識別子を受け取る INT へのポインタである。 |
vtbl 5 HRESULT RegisterPattern(UIAutomationPatternInfo* pattern, INT* pPatternId, INT* pPatternAvailablePropertyId, DWORD propertyIdCount, INT* pPropertyIds, DWORD eventIdCount, INT* pEventIds)
| pattern | UIAutomationPatternInfo* | in | 登録するカスタムコントロールパターンの定義を渡す UIAutomationPatternInfo へのポインタである。 |
| pPatternId | INT* | out | 登録されたパターンに割り当てられた識別子を受け取る INT へのポインタである。 |
| pPatternAvailablePropertyId | INT* | out | パターンの利用可否を示すプロパティに割り当てられた識別子を受け取る INT へのポインタである。 |
| propertyIdCount | DWORD | in | pPropertyIds 配列の要素数を指定する DWORD である。 |
| pPropertyIds | INT* | out | パターンの各プロパティに割り当てられた識別子を受け取る INT 配列へのポインタである。 |
| eventIdCount | DWORD | in | pEventIds 配列の要素数を指定する DWORD である。 |
| pEventIds | INT* | out | パターンの各イベントに割り当てられた識別子を受け取る INT 配列へのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IUIAutomationRegistrar "{8609C4EC-4A1A-4D88-A357-5A66E060E1CF}" #usecom global IUIAutomationRegistrar IID_IUIAutomationRegistrar "{}" #comfunc global IUIAutomationRegistrar_RegisterProperty 3 var,var #comfunc global IUIAutomationRegistrar_RegisterEvent 4 var,var #comfunc global IUIAutomationRegistrar_RegisterPattern 5 var,var,var,int,var,int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IUIAutomationRegistrar "{8609C4EC-4A1A-4D88-A357-5A66E060E1CF}" #usecom global IUIAutomationRegistrar IID_IUIAutomationRegistrar "{}" #comfunc global IUIAutomationRegistrar_RegisterProperty 3 sptr,sptr #comfunc global IUIAutomationRegistrar_RegisterEvent 4 sptr,sptr #comfunc global IUIAutomationRegistrar_RegisterPattern 5 sptr,sptr,sptr,int,sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。