Метод ITextStoreAnchor::RequestLock (texttor.h)
Используется диспетчером TSF для предоставления блокировки документа для изменения текстового потока.
Синтаксис
HRESULT RequestLock(
[in] DWORD dwLockFlags,
[out] HRESULT *phrSession
);
Параметры
[in] dwLockFlags
Указывает тип запрашиваемой блокировки.
[out] phrSession
Если запрос на блокировку синхронный, получает значение HRESULT от метода ITextStoreAnchorSink::OnLockGranted , указывающее результат запроса на блокировку.
Если запрос на блокировку является асинхронным и результатом является TS_S_ASYNC, документ получает асинхронную блокировку. Если запрос на блокировку является асинхронным и результатом является TS_E_SYNCHRONOUS, документ не может быть заблокирован синхронно.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Значение | Описание |
---|---|
|
Метод выполнен успешно. |
|
Произошла неизвестная ошибка. |
Комментарии
Этот метод использует метод ITextStoreAnchorSink::OnLockGranted для блокировки документа. Приложения никогда не должны изменять документ или отправлять уведомления об изменениях с помощью метода ITextStoreAnchorSink::OnTextChange из метода ITextStoreAnchor::RequestLock . Если в приложении есть ожидающие изменения отчета, приложение может отвечать только на запрос асинхронной блокировки.
Приложения не должны пытаться ставить в очередь несколько вызовов метода ITextStoreAnchor::RequestLock , так как приложению требуется только один обратный вызов. Однако если вызывающий объект выполняет несколько запросов на чтение и один или несколько запросов на запись, обратный вызов должен быть для доступа на запись.
Успешные запросы на синхронные блокировки заменяют запросы на асинхронные блокировки. Неудачные запросы на синхронные блокировки не заменяют запросы на асинхронные блокировки. Реализация по-прежнему должна обслуживать невыполненные асинхронные запросы, если он существует.
Если блокировка предоставляется до возврата метода ITextStoreAnchor::RequestLock , параметр phrSession получит HRESULT, возвращенный методом ITextStoreAnchorSink::OnLockGranted . Если вызов выполнен успешно, но блокировка будет предоставлена позже, параметр phrSession получает флаг TS_S_ASYNC. Параметр phrSession следует игнорировать, если ITextStoreAnchor::RequestLock возвращает не S_OK.
Вызывающий объект никогда не должен вызывать этот метод повторно, за исключением случаев, когда вызывающий объект имеет блокировку только для чтения. В этом случае метод можно вызвать повторно, чтобы запросить асинхронную блокировку записи. Блокировка записи будет предоставлена позже, после завершения блокировки только для чтения.
Дополнительные сведения о блокировках документов см. в разделе Блокировки документов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | textstor.h |
DLL | Msctf.dll |
Распространяемые компоненты | TSF 1.0 в Windows 2000 Professional |