ITextStoreACP2::RequestLock method (textstor.h)
Called by the TSF manager to provide a document lock in order to modify the document. This method calls the OnLockGranted method to create the document lock.
Syntax
HRESULT RequestLock(
[in] DWORD dwLockFlags,
[out] HRESULT *phrSession
);
Parameters
[in] dwLockFlags
Specifies the type of lock requested.
[out] phrSession
If the lock request is synchronous, receives an HRESULT value from the OnLockGranted method that specifies the result of the lock request.
If the lock request is asynchronous and the result is TS_S_ASYNC, the document receives an asynchronous lock. If the lock request is asynchronous and the result is TS_E_SYNCHRONOUS, the document can't be locked synchronously.
Return value
This method can return one of these values.
Value | Description |
---|---|
|
The method was successful. |
|
An unspecified error occurred. |
Remarks
This method uses the OnLockGranted method to lock the document. Applications must never modify the document or send change notifications using the OnTextChange method from within the RequestLock method. If the application has pending changes to report, the application can only respond to the asynchronous lock request.
Applications should not attempt to queue multiple RequestLock method calls, because the application requires only a single callback. If the caller makes several read requests and one or more write requests, however, the callback should be for write access.
Successful requests for synchronous locks supersede requests for asynchronous locks. Unsuccessful requests for synchronous locks do not supersede requests for asynchronous locks. The implementation must still serve the outstanding asynchronous request, if one exists.
If the lock is granted before the RequestLock method returns, the phrSession parameter will receive the HRESULT returned by the OnLockGranted method. If the call is successful, but the lock will be granted later, the phrSession parameter receives the TS_S_ASYNC flag. The phrSession parameter should be ignored if RequestLock returns anything other than S_OK.
A caller should never call this method reentrantly, except in the case that the caller holds a read-only lock. In this case the method can be called reentrantly to ask for an asynchronous write lock. The write lock will be granted later, after the read-only lock ends.
For more information about document locks, see Document Locks.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 [desktop apps | UWP apps] |
Minimum supported server | Windows Server 2012 [desktop apps | UWP apps] |
Target Platform | Windows |
Header | textstor.h |
DLL | Msctf.dll |