ITextStoreACP2::RequestLock 方法 (textstor.h)
由 TSF 管理器调用以提供文档锁以修改文档。 此方法调用 OnLockGranted 方法来创建文档锁。
语法
HRESULT RequestLock(
[in] DWORD dwLockFlags,
[out] HRESULT *phrSession
);
参数
[in] dwLockFlags
指定所请求的锁的类型。
值 | 含义 |
---|---|
|
文档具有只读锁,无法修改。 |
|
文档具有读/写锁,可以修改。 |
|
如果此标志与其他标志结合使用,则文档具有同步锁。 |
[out] phrSession
如果锁定请求是同步的,则从 OnLockGranted 方法接收 HRESULT 值,该值指定锁请求的结果。
如果锁定请求是异步的,并且结果 TS_S_ASYNC,则文档会收到异步锁。 如果锁定请求是异步的,并且结果TS_E_SYNCHRONOUS,则无法同步锁定文档。
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
发生了未指定的错误。 |
注解
此方法使用 OnLockGranted 方法锁定文档。 应用程序不得在 RequestLock 方法中使用 OnTextChange 方法修改文档或发送更改通知。 如果应用程序有待报告的更改,则应用程序只能响应异步锁定请求。
应用程序不应尝试将多个 RequestLock 方法调用排队,因为应用程序只需要单个回调。 但是,如果调用方发出多个读取请求和一个或多个写入请求,则回调应用于写入访问。
同步锁的成功请求取代异步锁的请求。 同步锁的失败请求不会取代异步锁的请求。 实现仍必须为未完成的异步请求提供服务(如果存在)。
如果在 RequestLock 方法返回之前授予锁, phrSession 参数将接收 OnLockGranted 方法返回的 HRESULT。 如果调用成功,但稍后将授予锁, phrSession 参数将接收TS_S_ASYNC标志。 如果 RequestLock 返回除 S_OK 以外的任何内容,则应忽略 phrSession 参数。
调用方不应重新调用此方法,除非调用方持有只读锁。 在这种情况下,可以重新调用 方法以请求异步写入锁。 只读锁结束后,将稍后授予写入锁。
有关文档锁的详细信息,请参阅 文档锁定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | textstor.h |
DLL | Msctf.dll |