typedef struct ITfFnLMProcessor : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE QueryRange(ITfRange *pRange, ITfRange **ppNewRange, BOOL *pfAccepted) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryLangID(LANGID *plangid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetReconversion(ITfRange *pRange, ITfCandidateList **ppCandList) = 0;
virtual HRESULT STDMETHODCALLTYPE Reconvert(ITfRange *pRange) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryKey(const GUID *pguidKey, BOOL *pfSupport) = 0;
virtual HRESULT STDMETHODCALLTYPE InvokeKey(const GUID *pguidKey) = 0;
virtual HRESULT STDMETHODCALLTYPE InvokeFunc(ITfContext *pic, REFGUID refguidFunc) = 0;
} ITfFnLMProcessor;
与之前提到的 ITfFnLMInternal 接口相比,ITfFnLMProcessor 接口的定义几乎相同,这两者在接口成员和功能上都非常相似。这是因为它们都用于支持语言模型的一些基本操作。
主要函数的简要说明:
1. QueryRange 函数用于查询给定范围内是否支持语言模型,并可返回新的范围。
2. QueryLangID 函数用于查询语言模型的语言标识符(LANGID)。
3. GetReconversion 函数用于获取重新转换的候选列表。
4. Reconvert 函数用于执行重新转换操作。
5. QueryKey 函数用于查询是否支持特定键。
6. InvokeKey 函数用于执行与键相关的操作。
7. InvokeFunc 函数用于执行与功能相关的操作。
这两个接口通常由文本服务使用,以提供语言模型的高级功能。
转载请注明出处:http://www.zyzy.cn/article/detail/25189/Win32 API/Ctffunc.h/ITfFnLMProcessor