Método ITextStoreAnchor::RequestLock (textstor.h)
Usado por el administrador de TSF para proporcionar un bloqueo de documento con el fin de modificar la secuencia de texto.
Sintaxis
HRESULT RequestLock(
[in] DWORD dwLockFlags,
[out] HRESULT *phrSession
);
Parámetros
[in] dwLockFlags
Especifica el tipo de bloqueo solicitado.
[out] phrSession
Si la solicitud de bloqueo es sincrónica, recibe un valor HRESULT del método ITextStoreAnchorSink::OnLockGranted que especifica el resultado de la solicitud de bloqueo.
Si la solicitud de bloqueo es asincrónica y el resultado es TS_S_ASYNC, el documento recibe un bloqueo asincrónico. Si la solicitud de bloqueo es asincrónica y el resultado es TS_E_SYNCHRONOUS, el documento no se puede bloquear sincrónicamente.
Valor devuelto
Este método puede devolver uno de estos valores.
Valor | Descripción |
---|---|
|
Método realizado correctamente. |
|
Se ha producido un error no especificado. |
Comentarios
Este método usa el método ITextStoreAnchorSink::OnLockGranted para bloquear el documento. Las aplicaciones nunca deben modificar el documento ni enviar notificaciones de cambio mediante el método ITextStoreAnchorSink::OnTextChange desde el método ITextStoreAnchor::RequestLock . Si la aplicación tiene cambios pendientes en el informe, la aplicación solo puede responder a la solicitud de bloqueo asincrónica.
Las aplicaciones no deben intentar poner en cola varias llamadas al método ITextStoreAnchor::RequestLock , ya que la aplicación solo requiere una sola devolución de llamada. Sin embargo, si el autor de la llamada realiza varias solicitudes de lectura y una o varias solicitudes de escritura, la devolución de llamada debe ser para el acceso de escritura.
Las solicitudes correctas de bloqueos sincrónicos reemplazan las solicitudes de bloqueos asincrónicos. Las solicitudes incorrectas de bloqueos sincrónicos no reemplazan las solicitudes de bloqueos asincrónicos. La implementación todavía debe atender la solicitud asincrónica pendiente, si existe.
Si el bloqueo se concede antes de que se devuelva el método ITextStoreAnchor::RequestLock , el parámetro phrSession recibirá el VALOR HRESULT devuelto por el método ITextStoreAnchorSink::OnLockGranted . Si la llamada se realiza correctamente, pero el bloqueo se concederá más adelante, el parámetro phrSession recibe la marca TS_S_ASYNC. El parámetro phrSession debe omitirse si ITextStoreAnchor::RequestLock devuelve algo distinto de S_OK.
Un llamador nunca debe llamar a este método de forma reentrante, excepto en el caso de que el autor de la llamada contenga un bloqueo de solo lectura. En este caso, se puede llamar al método de forma reentrant para solicitar un bloqueo de escritura asincrónico. El bloqueo de escritura se concederá más adelante, después de que finalice el bloqueo de solo lectura.
Para obtener más información sobre los bloqueos de documentos, vea Bloqueos de documento.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | textstor.h |
Archivo DLL | Msctf.dll |
Redistribuible | TSF 1.0 en Windows 2000 Professional |