IAccDictionary
COM公式ドキュメント
文字列操作のためのメソッドを公開します。
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
クライアントは IAccDictionary::GetLocalizedString メソッドを呼び出して、すべてのシステム プロパティおよびその値のローカライズされた文字列を取得します。
| Term | GUID* | in | プロパティを表すグローバル一意識別子 (GUID)。 |
| lcid | DWORD | in | 返される文字列のロケール。 |
| pResult | LPWSTR* | out | 用語を表すローカライズされた文字列。 |
| plcid | DWORD* | out | 返された文字列の言語。 |
戻り値
解説(Remarks)
このメソッドは、lcid で指定された言語でプロパティの名前を返します。その言語がシステムに存在しない場合、Microsoft Active Accessibility は最も適合する言語を見つけ、その言語の文字列を返します。Term パラメーターがディクショナリ内に見つからない場合、pResult は NULL になります。
クライアントは IAccDictionary::GetParentTerm メソッドを呼び出して、オブジェクト階層ツリーを移動します。このメソッドは、指定したプロパティの親オブジェクトを返します。
| Term | GUID* | in | プロパティの GUID。 |
| pParentTerm | GUID* | out | Term パラメーターで指定されたプロパティの親。 |
戻り値
解説(Remarks)
Term に親の用語が存在しない場合、pParentTerm は GUID_NULL を指します。
ニーモニック文字列を取得します。メモ: Active Accessibility Text Services は非推奨です。
| Term | GUID* | in | プロパティを表す GUID。 |
| pResult | LPWSTR* | out | プロパティのニーモニック文字列。この文字列はローカライズされません。 |
戻り値
解説(Remarks)
Term パラメーターがディクショナリ内に見つからない場合、pResult は NULL になります。
クライアントは IAccDictionary::LookupMnemonicTerm メソッドを呼び出して、指定したニーモニック文字列に対応するプロパティを検索します。
| bstrMnemonic | LPWSTR | in | プロパティのローカライズされていないニーモニック文字列。 |
| pTerm | GUID* | out | bstrMnemonic で表されるプロパティを示す GUID。 |
戻り値
解説(Remarks)
bstrMnemonic パラメーターがディクショナリ内に見つからない場合、pTerm は NULL になります。
クライアントは IAccDictionary::ConvertValueToString メソッドを呼び出して、値をローカライズされた文字列に変換します。
| Term | GUID* | in | プロパティを表す GUID。 |
| lcid | DWORD | in | 返される文字列のロケール。 |
| varValue | VARIANT | in | 項目の値。 |
| pbstrResult | LPWSTR* | out | 変換後の値へのポインター。 |
| plcid | DWORD* | out | 返された文字列の言語へのポインター。 |
戻り値
解説(Remarks)
Term パラメーターが true または false を取り得る場合、ConvertValueToString はローカライズされた文字列、または TRUE か FALSE を返します。Term パラメーターが色を表す場合、ConvertValueToString は最も近い色名の文字列を返します。Term パラメーターがディクショナリ内に見つからない場合、pbstrResult は NULL になります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IAccDictionary "{1DC4CB5F-D737-474D-ADE9-5CCFC9BC1CC9}" #usecom global IAccDictionary IID_IAccDictionary "{6572EE16-5FE5-4331-BB6D-76A49C56E423}" #comfunc global IAccDictionary_GetLocalizedString 3 var,int,var,var #comfunc global IAccDictionary_GetParentTerm 4 var,var #comfunc global IAccDictionary_GetMnemonicString 5 var,var #comfunc global IAccDictionary_LookupMnemonicTerm 6 wstr,var #comfunc global IAccDictionary_ConvertValueToString 7 var,int,int,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IAccDictionary "{1DC4CB5F-D737-474D-ADE9-5CCFC9BC1CC9}" #usecom global IAccDictionary IID_IAccDictionary "{6572EE16-5FE5-4331-BB6D-76A49C56E423}" #comfunc global IAccDictionary_GetLocalizedString 3 sptr,int,sptr,sptr #comfunc global IAccDictionary_GetParentTerm 4 sptr,sptr #comfunc global IAccDictionary_GetMnemonicString 5 sptr,sptr #comfunc global IAccDictionary_LookupMnemonicTerm 6 wstr,sptr #comfunc global IAccDictionary_ConvertValueToString 7 sptr,int,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。