(textstor.h) ITextStoreACP2::RequestLock 方法
由 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 |