ITfRange::GetEmbedded 方法 (msctf.h)

ITfRange::GetEmbedded 方法获取与文本流中TS_CHAR_EMBEDDED字符对应的内容。 文本范围的起始定位点位于感兴趣的字符之前。

语法

HRESULT GetEmbedded(
  [in]  TfEditCookie ec,
  [in]  REFGUID      rguidService,
  [in]  REFIID       riid,
  [out] IUnknown     **ppunk
);

参数

[in] ec

编辑从 ITfDocumentMgr::CreateContextITfEditSession::D oEditSession 获取的 Cookie。

[in] rguidService

指定如何获取嵌入内容的标识符。

含义
GUID_TS_SERVICE_ACCESSIBLE
输出应为 可访问对象
GUID_TS_SERVICE_ACTIVEX
调用方需要指向支持 riid 指定的接口的 对象的直接指针。
GUID_TS_SERVICE_DATAOBJECT
内容应作为 IDataObject 数据传输对象获取,并IID_IDataObject riid 。 当需要内容副本时,客户端应指定此选项。
调用方定义的
文本服务和上下文所有者可以定义自定义 GUID。

[in] riid

所请求对象的接口的 UUID。

[out] ppunk

指向 对象的指针。 可以强制转换以匹配 riid

返回值

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

说明
S_OK
方法成功。
E_INVALIDARG
一个或多个参数无效。
E_NOTIMPL
实现应用程序不会在其文本流中公开嵌入的对象。
TF_E_NOINTERFACE
对象不支持请求的接口。
TF_E_NOLOCK
ec 参数中的值是无效的 Cookie,或者调用方没有只读锁。
TF_E_NOOBJECT
范围的起始定位点未定位在TF_CHAR_EMBEDDED字符之前。
TF_E_NOSERVICE
无法返回与 rguidService 匹配的内容。

注解

虽然获取的对象可能不支持某些接口,但对象可能支持那些与嵌入的文档或控件(例如 IOleObjectIDataObjectIViewObjectIPersistStorageIOleCacheIDispatch)关联的接口。 调用方必须使用 QueryInterface 来探测任何感兴趣的接口。 如果方法成功,但 riidNULL,则应用程序指示存在嵌入对象,但不公开对象本身。 文本处理器仍然可以从有关潜在断字通知中获益。

要求

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

另请参阅

辅助对象

IDataObject

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfRange

ITfRange::InsertEmbedded

其他框架常量

文本存储