iTfContext::RequestEditSession 方法 (msctf.h)
获取对文档文本和属性的访问权限。
语法
HRESULT RequestEditSession(
[in] TfClientId tid,
[in] ITfEditSession *pes,
[in] DWORD dwFlags,
[out] HRESULT *phrSession
);
parameters
[in] tid
包含标识要与其建立编辑会话的客户端的 TfClientId 值。
[in] pes
指向调用以执行编辑会话的 ITfEditSession 接口的指针。
[in] dwFlags
包含以下一个或多个值。
[out] phrSession
接收编辑会话请求结果的 HRESULT 值的地址。 接收的值取决于请求的编辑会话的类型。
- 如果请求异步编辑会话并且可以建立,则 接收TF_S_ASYNC。
- 如果请求同步编辑会话但无法建立,则 接收TF_E_SYNCHRONOUS。
- 如果指定了TF_ES_READWRITE标志并且文档为只读,则 接收TS_E_READONLY。
- 如果建立了同步编辑会话,则 接收 ITfEditSession::D oEditSession 的返回值。
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 phrSession 包含方法的更多结果数据。 |
|
调用方位于另一个已持有锁的文本服务的上下文中。 |
|
上下文不在文档堆栈上。 |
|
一个或多个参数无效。 |
|
发生内存分配失败。 |
注解
挂起的异步编辑会话按接收的顺序进行处理。 同步编辑会话在任何挂起的异步编辑会话之前进行处理。
文本服务可以在现有编辑会话的上下文中请求编辑会话,前提是只读会话中未请求写入访问会话。 在另一个文本服务建立的编辑会话的上下文中调用此方法将失败,并TF_E_LOCKED。
如果在处理以下通知之一时发出同步读/写请求,则会失败。
要求
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | msctf.h |
DLL | Msctf.dll |
可再发行组件 | Windows 2000 专业版上的 TSF 1.0 |
另请参阅
ITfContext 接口、 ITfEditSession 接口、 ITfStatusSink::OnStatusChange、 ITfTextEditSink::OnEndEdit、 ITfTextLayoutSink::OnLayoutChange