Win32 API 日本語リファレンス
ホームUI.Accessibility › ILegacyIAccessibleProvider

ILegacyIAccessibleProvider

COM
IIDe44c3566-915d-4070-99c6-047bff5a08f5継承元IUnknown自前メソッド開始 vtbl3

メソッド 14

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Select(INT flagsSelect)
flagsSelectINTin選択またはフォーカス操作の方法を指定する SELFLAG 系のフラグ値を渡す INT である。
vtbl 4 HRESULT DoDefaultAction()
vtbl 5 HRESULT SetValue(LPWSTR szValue)
szValueLPWSTRin要素に設定する新しい値を含む文字列を渡す LPWSTR である。
vtbl 6 HRESULT GetIAccessible(IAccessible** ppAccessible)
ppAccessibleIAccessible**out対応する Microsoft Active Accessibility の IAccessible オブジェクトを受け取るポインタのポインタである。
vtbl 7 HRESULT get_ChildId(INT* pRetVal)
pRetValINT*out要素の子 ID を受け取る INT へのポインタであり、オブジェクト自身の場合は CHILDID_SELF となる。
vtbl 8 HRESULT get_Name(LPWSTR* pszName)
pszNameLPWSTR*out要素の名前を文字列で受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。
vtbl 9 HRESULT get_Value(LPWSTR* pszValue)
pszValueLPWSTR*out要素の値を文字列で受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。
vtbl 10 HRESULT get_Description(LPWSTR* pszDescription)
pszDescriptionLPWSTR*out要素の説明を文字列で受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。
vtbl 11 HRESULT get_Role(DWORD* pdwRole)
pdwRoleDWORD*out要素のロール(オブジェクトの種類)を示す MSAA のロール識別子を受け取る DWORD へのポインタである。
vtbl 12 HRESULT get_State(DWORD* pdwState)
pdwStateDWORD*out要素の状態を示す MSAA の状態フラグの組み合わせを受け取る DWORD へのポインタである。
vtbl 13 HRESULT get_Help(LPWSTR* pszHelp)
pszHelpLPWSTR*out要素のヘルプ文字列を受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。
vtbl 14 HRESULT get_KeyboardShortcut(LPWSTR* pszKeyboardShortcut)
pszKeyboardShortcutLPWSTR*out要素のキーボードショートカット文字列を受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。
vtbl 15 HRESULT GetSelection(SAFEARRAY** pvarSelectedChildren)
pvarSelectedChildrenSAFEARRAY**out選択されている子要素を表す VARIANT の配列を受け取る SAFEARRAY へのポインタである。
vtbl 16 HRESULT get_DefaultAction(LPWSTR* pszDefaultAction)
pszDefaultActionLPWSTR*out要素の既定の操作を表す文字列を受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ILegacyIAccessibleProvider "{E44C3566-915D-4070-99C6-047BFF5A08F5}"
#usecom global ILegacyIAccessibleProvider IID_ILegacyIAccessibleProvider "{}"
#comfunc global ILegacyIAccessibleProvider_Select                3 int
#comfunc global ILegacyIAccessibleProvider_DoDefaultAction       4
#comfunc global ILegacyIAccessibleProvider_SetValue              5 wstr
#comfunc global ILegacyIAccessibleProvider_GetIAccessible        6 sptr
#comfunc global ILegacyIAccessibleProvider_get_ChildId           7 var
#comfunc global ILegacyIAccessibleProvider_get_Name              8 var
#comfunc global ILegacyIAccessibleProvider_get_Value             9 var
#comfunc global ILegacyIAccessibleProvider_get_Description       10 var
#comfunc global ILegacyIAccessibleProvider_get_Role              11 var
#comfunc global ILegacyIAccessibleProvider_get_State             12 var
#comfunc global ILegacyIAccessibleProvider_get_Help              13 var
#comfunc global ILegacyIAccessibleProvider_get_KeyboardShortcut  14 var
#comfunc global ILegacyIAccessibleProvider_GetSelection          15 var
#comfunc global ILegacyIAccessibleProvider_get_DefaultAction     16 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。