IInkWordList
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
. (IInkWordList)
メソッド 3
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
InkWordList オブジェクトに単語を 1 つ追加します。
| NewWord | LPWSTR | in | InkWordList オブジェクトに追加する単語。単語が既にリストに存在する場合は追加されません。 BSTR データ型の詳細については、Using the COM Library を参照してください。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 単語は既にリストに存在します。 | |
| 操作を完了するためのメモリを割り当てられません。 | |
| 不特定のエラーが発生しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
|
メソッド内部で例外が発生しました。 |
解説(Remarks)
単語リストに文字列を追加すると、その大文字化されたバージョンも暗黙的に追加されます。たとえば "hello" を追加すると、"Hello" と "HELLO" も暗黙的に追加されます。
InkWordList から単語を 1 つ削除します。
| RemoveWord | LPWSTR | in | InkWordList から削除する単語。 BSTR データ型の詳細については、Using the COM Library を参照してください。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 操作を完了するためのメモリを割り当てられません。 | |
| 不特定のエラーが発生しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
|
メソッド内部で例外が発生しました。 |
解説(Remarks)
単語リストに文字列を追加すると、その大文字化されたバージョンも暗黙的に追加されます。たとえば "hello" を追加すると、"Hello" と "HELLO" も暗黙的に追加されます。そのため、"hello" を削除すると "Hello" と "HELLO" も暗黙的に削除されます。ただし、"hello" を追加した後に "Hello" を削除しようとしても、"Hello" は明示的に追加されていないため、RemoveWord の呼び出しは効果がありません。
指定した InkWordList オブジェクトをこの単語リストにマージします。
| MergeWordList | IInkWordList* | inoptional | この単語リストにマージする単語リスト。リストに既に存在する単語は追加されません。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| パラメーターに無効なポインターが含まれていました。 | |
| 操作を完了するためのメモリを割り当てられません。 | |
| 不特定のエラーが発生しました。 | |
|
メソッド内部で例外が発生しました。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IInkWordList "{76BA3491-CB2F-406B-9961-0E0C4CDAAEF2}"
#usecom global IInkWordList IID_IInkWordList "{9DE85094-F71F-44F1-8471-15A2FA76FCF3}"
#comfunc global IInkWordList_AddWord 7 wstr
#comfunc global IInkWordList_RemoveWord 8 wstr
#comfunc global IInkWordList_Merge 9 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。