Método ITextStoreACP::RequestLock (texttor.h)
El administrador de TSF llama al método ITextStoreACP::RequestLock para proporcionar un bloqueo de documento para modificar el documento. Este método llama al método ITextStoreACPSink::OnLockGranted para crear el bloqueo del documento.
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 de forma sincrónica.
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 ITextStoreACPSink::OnLockGranted para bloquear el documento. Las aplicaciones nunca deben modificar el documento ni enviar notificaciones de cambios mediante el método ITextStoreACPSink::OnTextChange desde el método ITextStoreACP::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 ITextStoreACP::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 se concede el bloqueo antes de que se devuelva el método ITextStoreACP::RequestLock , el parámetro phrSession recibirá el VALOR HRESULT devuelto por el método ITextStoreACPSink::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 ITextStoreACP::RequestLock devuelve algo distinto de S_OK.
Un llamador nunca debe llamar a este método de forma reentrant, 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 reentrante 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 documentos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | textstor.h |
Archivo DLL | Msctf.dll |
Redistribuible | TSF 1.0 en Windows 2000 Professional |