在 Win32 API 中,ITfFnLMInternal 接口是 Text Services Framework(TSF)的一部分,用于支持语言模型的内部功能。以下是 ITfFnLMInternal 接口的定义:
typedef struct ITfFnLMInternal : 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 ClearReconversion(void) = 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;
} ITfFnLMInternal;

这个接口包含了一系列虚拟函数,用于处理与语言模型相关的内部操作。以下是主要函数的简要说明:

1. QueryRange 函数用于查询给定范围内是否支持语言模型,并可返回新的范围。

2. QueryLangID 函数用于查询语言模型的语言标识符(LANGID)。

3. GetReconversion 函数用于获取重新转换的候选列表。

4. Reconvert 函数用于执行重新转换操作。

5. ClearReconversion 函数用于清除重新转换的状态。

6. QueryKey 函数用于查询是否支持特定键。

7. InvokeKey 函数用于执行与键相关的操作。

8. InvokeFunc 函数用于执行与功能相关的操作。

这个接口通常由文本服务使用,以提供语言模型的高级功能。


转载请注明出处:http://www.zyzy.cn/article/detail/25188/Win32 API/Ctffunc.h/ITfFnLMInternal