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::CreateContext 或 ITfEditSession::D oEditSession 获取的 Cookie。
[in] rguidService
指定如何获取嵌入内容的标识符。
值 | 含义 |
---|---|
|
输出应为 可访问对象。 |
|
调用方需要指向支持 riid 指定的接口的 对象的直接指针。 |
|
内容应作为 IDataObject 数据传输对象获取,并IID_IDataObject riid 。 当需要内容副本时,客户端应指定此选项。 |
|
文本服务和上下文所有者可以定义自定义 GUID。 |
[in] riid
所请求对象的接口的 UUID。
[out] ppunk
指向 对象的指针。 可以强制转换以匹配 riid。
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
一个或多个参数无效。 |
|
实现应用程序不会在其文本流中公开嵌入的对象。 |
|
对象不支持请求的接口。 |
|
ec 参数中的值是无效的 Cookie,或者调用方没有只读锁。 |
|
范围的起始定位点未定位在TF_CHAR_EMBEDDED字符之前。 |
|
无法返回与 rguidService 匹配的内容。 |
注解
虽然获取的对象可能不支持某些接口,但对象可能支持那些与嵌入的文档或控件(例如 IOleObject、 IDataObject、 IViewObject、 IPersistStorage、 IOleCache 或 IDispatch)关联的接口。 调用方必须使用 QueryInterface 来探测任何感兴趣的接口。 如果方法成功,但 riid 为 NULL,则应用程序指示存在嵌入对象,但不公开对象本身。 文本处理器仍然可以从有关潜在断字通知中获益。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | msctf.h |
DLL | Msctf.dll |
可再发行组件 | Windows 2000 专业版上的 TSF 1.0 |