Compartir a través de


Método ITfContext::RequestEditSession (msctf.h)

Obtiene acceso al texto y las propiedades del documento.

Sintaxis

HRESULT RequestEditSession(
  [in]  TfClientId     tid,
  [in]  ITfEditSession *pes,
  [in]  DWORD          dwFlags,
  [out] HRESULT        *phrSession
);

Parámetros

[in] tid

Contiene un valor TfClientId que identifica al cliente con el que establecer la sesión de edición.

[in] pes

Puntero a una interfaz ITfEditSession llamada para realizar la sesión de edición.

[in] dwFlags

Contiene uno o varios de los valores siguientes.

Valor Significado
TF_ES_ASYNCDONTCARE
La sesión de edición puede producirse de forma sincrónica o asincrónica, a discreción del administrador de TSF. El administrador intentará programar una sesión de edición sincrónica para mejorar el rendimiento. Este valor no se puede combinar con los valores de TF_ES_ASYNC o TF_ES_SYNC.
TF_ES_SYNC
La sesión de edición debe ser sincrónica o se producirá un error en la solicitud (con TF_E_SYNCHRONOUS). Esta marca solo se debe usar en situaciones documentadas (como el control de pulsaciones de teclas) donde se puede esperar que se realice correctamente. De lo contrario, es probable que se produzca un error en la llamada. Este valor no se puede combinar con los valores de TF_ES_ASYNCDONTCARE o TF_ES_ASYNC.
TF_ES_READ
Solicita acceso de solo lectura al contexto.
TF_ES_READWRITE
Solicita acceso de lectura y escritura al contexto.
TF_ES_ASYNC
La sesión de edición debe ser asincrónica o se produce un error en la solicitud. Este valor no se puede combinar con los valores de TF_ES_ASYNCDONTCARE o TF_ES_SYNC.

[out] phrSession

Dirección de un valor HRESULT que recibe el resultado de la solicitud de sesión de edición. El valor recibido depende del tipo de sesión de edición solicitada.

  • Si se solicita una sesión de edición asincrónica y se puede establecer, recibe TF_S_ASYNC.
  • Si se solicita una sesión de edición sincrónica y no se puede establecer, recibe TF_E_SYNCHRONOUS.
  • Si se especifica la marca TF_ES_READWRITE y el documento es de solo lectura, recibe TS_E_READONLY.
  • Si se establece una sesión de edición sincrónica, recibe el valor devuelto de ITfEditSession::D oEditSession.

Valor devuelto

Este método puede devolver uno de estos valores.

Valor Descripción
S_OK
Método realizado correctamente. phrSession contiene más datos de resultados para el método .
TF_E_LOCKED
El autor de la llamada está dentro del contexto de otro servicio de texto que ya contiene un bloqueo.
TF_E_DISCONNECTED
El contexto no está en una pila de documentos.
E_INVALIDARG
Uno o varios parámetros no son válidos.
E_OUTOFMEMORY
Error de asignación de memoria.

Comentarios

Las sesiones de edición asincrónica pendientes se procesan en el orden recibido. Las sesiones de edición sincrónicas se procesan antes de las sesiones de edición asincrónicas pendientes.

Un servicio de texto puede solicitar una sesión de edición en el contexto de una sesión de edición existente, siempre que no se solicite una sesión de acceso de escritura dentro de una sesión de solo lectura. Las llamadas a este método en el contexto de una sesión de edición establecida por otro servicio de texto producirán un error TF_E_LOCKED.

Se producirá un error en una solicitud de lectura y escritura sincrónica si se realiza al procesar una de las siguientes notificaciones.

Requisitos

   
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 msctf.h
Archivo DLL Msctf.dll
Redistribuible TSF 1.0 en Windows 2000 Professional

Consulte también

Interfaz ITfContext, interfaz ITfEditSession, ITfStatusSink::OnStatusChange, ITfTextEditSink::OnEndEdit, ITfTextLayoutSink::OnLayoutChange