ILegacyIAccessibleProvider
COM公式ドキュメント
Microsoft UI Automation クライアントが、Microsoft Active Accessibility 要素の基盤となる IAccessible 実装にアクセスできるようにします。
解説(Remarks)
このインターフェイスは、レガシー上の理由からネイティブの MSAA プロパティおよびメソッドを必要とする UI Automation クライアントに対してそれらを公開するために、Microsoft Active Accessibility to UI Automation Proxy によって実装されます。このプロキシは、Microsoft Active Accessibility をネイティブに実装するアプリケーションまたはコントロールに対して、このインターフェイスを自動的に提供します。このインターフェイスは、UI Automation アプリケーションまたはコントロールが実装することを意図したものではありません。
メソッド 14
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
要素を選択します。
| flagsSelect | INT | in | 実行する選択操作またはフォーカス操作を指定します。このパラメーターには、SELFLAG Constants に記載されている値の組み合わせを指定する必要があります。 |
戻り値
コントロールに対して既定のアクションを実行します。
戻り値
コントロールの文字列値を設定します。
| szValue | LPWSTR | in | 値を格納するローカライズされた文字列。 |
戻り値
LegacyIAccessible コントロールパターンをサポートする UI Automation 要素に対応するアクセシブルオブジェクトを取得します。
| ppAccessible | IAccessible** | out | アクセシブルオブジェクトへのポインターを受け取ります。 |
戻り値
この要素の子識別子を指定します。
| pRetVal | INT* | out | 要素の子 ID を受け取る INT へのポインタであり、オブジェクト自身の場合は CHILDID_SELF となる。 |
この要素の名前を指定します。
| pszName | LPWSTR* | out | 要素の名前を文字列で受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。 |
この要素の値を指定します。
| pszValue | LPWSTR* | out | 要素の値を文字列で受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。 |
この要素の説明を格納します。
| pszDescription | LPWSTR* | out | 要素の説明を文字列で受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。 |
この要素のロール識別子を指定します。
| pdwRole | DWORD* | out | 要素のロール(オブジェクトの種類)を示す MSAA のロール識別子を受け取る DWORD へのポインタである。 |
この要素の状態を指定します。
| pdwState | DWORD* | out | 要素の状態を示す MSAA の状態フラグの組み合わせを受け取る DWORD へのポインタである。 |
この要素のヘルプ情報を格納する文字列を指定します。
| pszHelp | LPWSTR* | out | 要素のヘルプ文字列を受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。 |
この要素のキーボードショートカットを指定します。
| pszKeyboardShortcut | LPWSTR* | out | 要素のキーボードショートカット文字列を受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。 |
コントロール内で選択されている項目を取得します。
| pvarSelectedChildren | SAFEARRAY** | out | 選択された項目を格納する SAFEARRAY へのポインターを受け取ります。 |
戻り値
この要素の既定のアクションの説明を格納します。
| pszDefaultAction | LPWSTR* | out | 要素の既定の操作を表す文字列を受け取る LPWSTR へのポインタである。呼び出し側は SysFreeString で解放する。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 指定が可能。#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 sptr #comfunc global ILegacyIAccessibleProvider_get_Name 8 sptr #comfunc global ILegacyIAccessibleProvider_get_Value 9 sptr #comfunc global ILegacyIAccessibleProvider_get_Description 10 sptr #comfunc global ILegacyIAccessibleProvider_get_Role 11 sptr #comfunc global ILegacyIAccessibleProvider_get_State 12 sptr #comfunc global ILegacyIAccessibleProvider_get_Help 13 sptr #comfunc global ILegacyIAccessibleProvider_get_KeyboardShortcut 14 sptr #comfunc global ILegacyIAccessibleProvider_GetSelection 15 sptr #comfunc global ILegacyIAccessibleProvider_get_DefaultAction 16 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。