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

IAccessible

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID618736e0-3c3d-11cf-810c-00aa00389b71継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 21

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_accParent(IDispatch** ppdispParent)
ppdispParentIDispatch**outオブジェクトの親を表す IDispatch を受け取る出力ポインタである。親が存在しない場合は NULL が設定される。
vtbl 8 HRESULT get_accChildCount(INT* pcountChildren)
pcountChildrenINT*outオブジェクトが持つ子の数を受け取る出力ポインタである。
vtbl 9 HRESULT get_accChild(VARIANT varChild, IDispatch** ppdispChild)
varChildVARIANTin対象の子を識別する子 ID を指定する。
ppdispChildIDispatch**out指定した子オブジェクトを表す IDispatch を受け取る出力ポインタである。
vtbl 10 HRESULT get_accName(VARIANT varChild, LPWSTR* pszName)
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pszNameLPWSTR*outオブジェクトの名前文字列を受け取る出力ポインタである。
vtbl 11 HRESULT get_accValue(VARIANT varChild, LPWSTR* pszValue)
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pszValueLPWSTR*outオブジェクトの値文字列を受け取る出力ポインタである。
vtbl 12 HRESULT get_accDescription(VARIANT varChild, LPWSTR* pszDescription)
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pszDescriptionLPWSTR*outオブジェクトの説明文字列を受け取る出力ポインタである。
vtbl 13 HRESULT get_accRole(VARIANT varChild, VARIANT* pvarRole)
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pvarRoleVARIANT*outオブジェクトのロール(役割)を表す VARIANT を受け取る出力ポインタである。
vtbl 14 HRESULT get_accState(VARIANT varChild, VARIANT* pvarState)
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pvarStateVARIANT*outオブジェクトの状態を表す VARIANT を受け取る出力ポインタである。
vtbl 15 HRESULT get_accHelp(VARIANT varChild, LPWSTR* pszHelp)
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pszHelpLPWSTR*outオブジェクトのヘルプ文字列を受け取る出力ポインタである。
vtbl 16 HRESULT get_accHelpTopic(LPWSTR* pszHelpFile, VARIANT varChild, INT* pidTopic)
pszHelpFileLPWSTR*outヘルプファイルのパスを受け取る出力ポインタである。
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pidTopicINT*outヘルプファイル内のトピック ID を受け取る出力ポインタである。
vtbl 17 HRESULT get_accKeyboardShortcut(VARIANT varChild, LPWSTR* pszKeyboardShortcut)
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pszKeyboardShortcutLPWSTR*outオブジェクトのキーボードショートカット文字列を受け取る出力ポインタである。
vtbl 18 HRESULT get_accFocus(VARIANT* pvarChild)
pvarChildVARIANT*outフォーカスを持つ子オブジェクトを識別する VARIANT を受け取る出力ポインタである。
vtbl 19 HRESULT get_accSelection(VARIANT* pvarChildren)
pvarChildrenVARIANT*out選択されている子オブジェクト(複数の場合あり)を表す VARIANT を受け取る出力ポインタである。
vtbl 20 HRESULT get_accDefaultAction(VARIANT varChild, LPWSTR* pszDefaultAction)
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
pszDefaultActionLPWSTR*outオブジェクトの既定アクションを説明する文字列を受け取る出力ポインタである。
vtbl 21 HRESULT accSelect(INT flagsSelect, VARIANT varChild)
flagsSelectINTin実行する選択またはフォーカス操作を表す SELFLAG フラグを指定する。
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
vtbl 22 HRESULT accLocation(INT* pxLeft, INT* pyTop, INT* pcxWidth, INT* pcyHeight, VARIANT varChild)
pxLeftINT*outオブジェクトの左端の画面座標(X)を受け取る出力ポインタである。
pyTopINT*outオブジェクトの上端の画面座標(Y)を受け取る出力ポインタである。
pcxWidthINT*outオブジェクトの幅(ピクセル)を受け取る出力ポインタである。
pcyHeightINT*outオブジェクトの高さ(ピクセル)を受け取る出力ポインタである。
varChildVARIANTin対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
vtbl 23 HRESULT accNavigate(INT navDir, VARIANT varStart, VARIANT* pvarEndUpAt)
navDirINTin移動方向を表す NAVDIR フラグを指定する。
varStartVARIANTinナビゲーションの起点となるオブジェクトを識別する子 ID を指定する。
pvarEndUpAtVARIANT*out移動先のオブジェクトを識別する VARIANT を受け取る出力ポインタである。
vtbl 24 HRESULT accHitTest(INT xLeft, INT yTop, VARIANT* pvarChild)
xLeftINTin判定する点の画面座標(X)を指定する。
yTopINTin判定する点の画面座標(Y)を指定する。
pvarChildVARIANT*out指定した点に位置する子オブジェクトを識別する VARIANT を受け取る出力ポインタである。
vtbl 25 HRESULT accDoDefaultAction(VARIANT varChild)
varChildVARIANTin既定アクションを実行する対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
vtbl 26 HRESULT put_accName(VARIANT varChild, LPWSTR szName)
varChildVARIANTin名前を設定する対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
szNameLPWSTRin設定する名前文字列を指定する。
vtbl 27 HRESULT put_accValue(VARIANT varChild, LPWSTR szValue)
varChildVARIANTin値を設定する対象オブジェクト(自身は CHILDID_SELF)を識別する子 ID を指定する。
szValueLPWSTRin設定する値文字列を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IAccessible "{618736E0-3C3D-11CF-810C-00AA00389B71}"
#usecom global IAccessible IID_IAccessible "{}"
#comfunc global IAccessible_get_accParent            7 sptr
#comfunc global IAccessible_get_accChildCount        8 var
#comfunc global IAccessible_get_accChild             9 int,sptr
#comfunc global IAccessible_get_accName              10 int,var
#comfunc global IAccessible_get_accValue             11 int,var
#comfunc global IAccessible_get_accDescription       12 int,var
#comfunc global IAccessible_get_accRole              13 int,var
#comfunc global IAccessible_get_accState             14 int,var
#comfunc global IAccessible_get_accHelp              15 int,var
#comfunc global IAccessible_get_accHelpTopic         16 var,int,var
#comfunc global IAccessible_get_accKeyboardShortcut  17 int,var
#comfunc global IAccessible_get_accFocus             18 var
#comfunc global IAccessible_get_accSelection         19 var
#comfunc global IAccessible_get_accDefaultAction     20 int,var
#comfunc global IAccessible_accSelect                21 int,int
#comfunc global IAccessible_accLocation              22 var,var,var,var,int
#comfunc global IAccessible_accNavigate              23 int,int,var
#comfunc global IAccessible_accHitTest               24 int,int,var
#comfunc global IAccessible_accDoDefaultAction       25 int
#comfunc global IAccessible_put_accName              26 int,wstr
#comfunc global IAccessible_put_accValue             27 int,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。