IOptionDescription
COM公式ドキュメント
スペルチェッカーのオプションの説明を表します。
メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
スペルチェッカーのオプションの識別子を取得します。
| value | LPWSTR* | out | スペルチェックオプションを一意に識別する文字列IDを受け取る出力ポインタ。呼び出し側で解放する。 |
解説(Remarks)
オプション識別子はすべて同じ領域に存在します。スペルチェッカープロバイダーは、潜在的な衝突を回避するために、エンジン識別子と(オプションが言語固有の場合は)言語タグを使用する必要があります。
具体的には、オプション識別子の命名構造は次のようにする必要があります。
- Microsoft スペルチェッカーエンジンの場合: <language tag>:<option name>。例: "pt-BR:2009Reform."
- スペルチェックプロバイダーエンジンの場合: <engine id>:<language tag>:<option name>(オプションが言語固有でない場合、言語タグは省略できます)。例: "samplespell:fr-FR:AccentedUppercase"。
スペルチェッカーのオプションの見出しを取得します。
| value | LPWSTR* | out | オプションの見出し(表示用タイトル)文字列を受け取る出力ポインタ。呼び出し側で解放する。 |
解説(Remarks)
見出しは、そのグループの最初の項目にヘッダーを配置することで、オプションのセットをグループ化するために使用できます。これはスペルチェッカーの言語、またはユーザーの UI 言語にローカライズされている必要があります。
スペルチェッカーのオプションの説明を取得します。
| value | LPWSTR* | out | オプションの説明文(詳細テキスト)を受け取る出力ポインタ。呼び出し側で解放する。 |
解説(Remarks)
説明は、オプションに関連するさまざまな選択を行うことの意味を説明します。これはスペルチェッカーの言語、またはユーザーの UI 言語にローカライズされている必要があります。
スペルチェッカーのオプションのラベル列挙子を取得します。
| value | IEnumString** | out | 各選択肢のラベル文字列を列挙するIEnumStringを受け取る出力ポインタ。 |
解説(Remarks)
ラベルが 1 つの場合、このオプションの有効な値は 0(選択されていない)と 1(選択されている)です。ラベルが複数ある場合、最初のラベルは値 0 に、2 番目は 1 に、というように関連付けられ、実質的に列挙を形成します。ラベルはスペルチェッカーの言語、またはユーザーの UI 言語にローカライズされている必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IOptionDescription "{432E5F85-35CF-4606-A801-6F70277E1D7A}" #usecom global IOptionDescription IID_IOptionDescription "{}" #comfunc global IOptionDescription_get_Id 3 var #comfunc global IOptionDescription_get_Heading 4 var #comfunc global IOptionDescription_get_Description 5 var #comfunc global IOptionDescription_get_Labels 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IOptionDescription "{432E5F85-35CF-4606-A801-6F70277E1D7A}" #usecom global IOptionDescription IID_IOptionDescription "{}" #comfunc global IOptionDescription_get_Id 3 sptr #comfunc global IOptionDescription_get_Heading 4 sptr #comfunc global IOptionDescription_get_Description 5 sptr #comfunc global IOptionDescription_get_Labels 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。