Win32 API 日本語リファレンス
ホームGlobalization › IOptionDescription

IOptionDescription

COM
IID432e5f85-35cf-4606-a801-6f70277e1d7a継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

スペルチェッカーのオプションの説明を表します。

メソッド 4

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

vtbl 3 HRESULT get_Id(LPWSTR* value)

スペルチェッカーのオプションの識別子を取得します。

valueLPWSTR*outスペルチェックオプションを一意に識別する文字列IDを受け取る出力ポインタ。呼び出し側で解放する。

解説(Remarks)

オプション識別子はすべて同じ領域に存在します。スペルチェッカープロバイダーは、潜在的な衝突を回避するために、エンジン識別子と(オプションが言語固有の場合は)言語タグを使用する必要があります。

具体的には、オプション識別子の命名構造は次のようにする必要があります。

Note スペルチェックプロバイダーは既存の Microsoft オプション識別子をサポートすることは許可されていますが、Microsoft 名前空間に新しいオプション識別子を作成してはなりません。つまり、スペルチェックプロバイダーはエンジン識別子をプレフィックスとして使用する必要があります。
オプション識別子は、ラベルのセットおよびそれらに関連するセマンティクスにリンクされています。バージョン間でオプションに何らかの変更(ラベルのセットへのラベルの追加)が必要な場合は、新しい識別子を持つ新しいオプションを使用する必要があります。新しい識別子を必要としない唯一の有効な変更は、値 0 と 1 のセマンティクスが変わらない場合に、単一のラベルから 2 つのラベルへ、またはその逆に変更することです。
vtbl 4 HRESULT get_Heading(LPWSTR* value)

スペルチェッカーのオプションの見出しを取得します。

valueLPWSTR*outオプションの見出し(表示用タイトル)文字列を受け取る出力ポインタ。呼び出し側で解放する。

解説(Remarks)

見出しは、そのグループの最初の項目にヘッダーを配置することで、オプションのセットをグループ化するために使用できます。これはスペルチェッカーの言語、またはユーザーの UI 言語にローカライズされている必要があります。

vtbl 5 HRESULT get_Description(LPWSTR* value)

スペルチェッカーのオプションの説明を取得します。

valueLPWSTR*outオプションの説明文(詳細テキスト)を受け取る出力ポインタ。呼び出し側で解放する。

解説(Remarks)

説明は、オプションに関連するさまざまな選択を行うことの意味を説明します。これはスペルチェッカーの言語、またはユーザーの UI 言語にローカライズされている必要があります。

vtbl 6 HRESULT get_Labels(IEnumString** value)

スペルチェッカーのオプションのラベル列挙子を取得します。

valueIEnumString**out各選択肢のラベル文字列を列挙するIEnumStringを受け取る出力ポインタ。

解説(Remarks)

ラベルが 1 つの場合、このオプションの有効な値は 0(選択されていない)と 1(選択されている)です。ラベルが複数ある場合、最初のラベルは値 0 に、2 番目は 1 に、というように関連付けられ、実質的に列挙を形成します。ラベルはスペルチェッカーの言語、またはユーザーの UI 言語にローカライズされている必要があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 指定が可能。