iTfContextComposition::StartComposition 方法 (msctf.h)

创建新的合成。

语法

HRESULT StartComposition(
  [in]  TfEditCookie       ecWrite,
  [in]  ITfRange           *pCompositionRange,
  [in]  ITfCompositionSink *pSink,
  [out] ITfComposition     **ppComposition
);

parameters

[in] ecWrite

包含标识编辑上下文的编辑 Cookie。 这是从 ITfEditSession::D oEditSession 获取的

[in] pCompositionRange

指向 ITfRange 对象的指针,该对象指定合成最初涵盖的文本。

[in] pSink

指向接收组合事件通知的 ITfCompositionSink 对象的指针。 此参数是可选的,可以为 NULL。 如果提供,则当终止组合时释放对象。

[out] ppComposition

指向接收新组合对象的 ITfComposition 接口指针的指针。 如果上下文所有者拒绝组合,此参数将接收 NULL

返回值

此方法可以返回其中一个值。

说明
S_OK
方法成功。 如果上下文所有者组合建议接收器拒绝组合, 则 ppComposition 设置为 NULL
E_FAIL
发生了未指定的错误。
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
无法创建组合对象。
E_UNEXPECTED
在另一个组合操作中调用了 方法。
TF_E_DISCONNECTED
上下文对象不在文档堆栈上。
TF_E_NOLOCK
ecWrite 标识的编辑上下文没有读/写锁。

注解

如果上下文所有者已安装上下文所有者组合建议接收器,则调用 ITfContextOwnerCompositionSink::OnStartComposition 方法。 如果建议接收器拒绝新组合,此方法将返回S_OK但 ppComposition 设置为 NULL

pCompositionRange 覆盖的任何文本都接收 GUID_PROP_COMPOSING 属性。

要求

   
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 msctf.h
DLL Msctf.dll
可再发行组件 Windows 2000 专业版上的 TSF 1.0

另请参阅

IEnumITfCompositionView 接口ITfContextComposition 接口ITfRange 接口ITfCompositionSink 接口ITfContextOwnerCompositionSink::OnStartCompositionITfEditSession::D oEditSession