Win32 API 日本語リファレンス
ホームMedia.Speech › ISpLexicon

ISpLexicon

COM
IIDda41a7c2-5383-4db2-916b-6c1719e3db58継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT GetPronunciations(LPWSTR pszWord, WORD LangID, DWORD dwFlags, SPWORDPRONUNCIATIONLIST* pWordPronunciationList)
pszWordLPWSTRin発音を取得する対象の語。
LangIDWORDin対象言語を示す言語ID(LANGID)。
dwFlagsDWORDin取得元辞書を指定するeLEXTYPE系フラグ。ユーザー/アプリ辞書等を選択する。
pWordPronunciationListSPWORDPRONUNCIATIONLIST*inout取得した発音一覧を受け取るSPWORDPRONUNCIATIONLIST構造体へのポインタ。
vtbl 4 HRESULT AddPronunciation(LPWSTR pszWord, WORD LangID, SPPARTOFSPEECH ePartOfSpeech, WORD* pszPronunciation)
pszWordLPWSTRin登録する語。
LangIDWORDin対象言語を示す言語ID。
ePartOfSpeechSPPARTOFSPEECHin語の品詞を示すSPPARTOFSPEECH列挙値。
pszPronunciationWORD*inoptional登録する音素列(SAPI音素IDのNULL終端配列)。
vtbl 5 HRESULT RemovePronunciation(LPWSTR pszWord, WORD LangID, SPPARTOFSPEECH ePartOfSpeech, WORD* pszPronunciation)
pszWordLPWSTRin削除対象の語。
LangIDWORDin対象言語を示す言語ID。
ePartOfSpeechSPPARTOFSPEECHin削除対象の品詞を示すSPPARTOFSPEECH列挙値。
pszPronunciationWORD*inoptional削除する音素列。NULLで該当語の全発音を対象にできる。
vtbl 6 HRESULT GetGeneration(DWORD* pdwGeneration)
pdwGenerationDWORD*inout辞書の現在の世代番号を受け取るポインタ。変更検出に用いる。
vtbl 7 HRESULT GetGenerationChange(DWORD dwFlags, DWORD* pdwGeneration, SPWORDLIST* pWordList)
dwFlagsDWORDin対象辞書を指定するeLEXTYPE系フラグ。
pdwGenerationDWORD*inout入力で基準世代、出力で最新世代を受け取るポインタ。
pWordListSPWORDLIST*inout指定世代以降に変更された語の一覧を受け取るSPWORDLIST構造体へのポインタ。
vtbl 8 HRESULT GetWords(DWORD dwFlags, DWORD* pdwGeneration, DWORD* pdwCookie, SPWORDLIST* pWordList)
dwFlagsDWORDin対象辞書および取得方法を指定するフラグを受け取るポインタ。
pdwGenerationDWORD*inout現在の世代番号を受け取るポインタ。
pdwCookieDWORD*inoutoptional列挙継続用のクッキー値を入出力するポインタ。
pWordListSPWORDLIST*inout取得した語の一覧を受け取るSPWORDLIST構造体へのポインタ。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ISpLexicon "{DA41A7C2-5383-4DB2-916B-6C1719E3DB58}"
#usecom global ISpLexicon IID_ISpLexicon "{0655E396-25D0-11D3-9C26-00C04F8EF87C}"
#comfunc global ISpLexicon_GetPronunciations    3 wstr,int,int,var
#comfunc global ISpLexicon_AddPronunciation     4 wstr,int,int,var
#comfunc global ISpLexicon_RemovePronunciation  5 wstr,int,int,var
#comfunc global ISpLexicon_GetGeneration        6 var
#comfunc global ISpLexicon_GetGenerationChange  7 int,var,var
#comfunc global ISpLexicon_GetWords             8 int,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。