Compartilhar via


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

Obtém acesso ao texto e às propriedades do documento.

Sintaxe

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

Parâmetros

[in] tid

Contém um valor TfClientId que identifica o cliente com o qual estabelecer a sessão de edição.

[in] pes

Ponteiro para uma interface ITfEditSession chamada para executar a sessão de edição.

[in] dwFlags

Contém um ou mais dos valores a seguir.

Valor Significado
TF_ES_ASYNCDONTCARE
A sessão de edição pode ocorrer de forma síncrona ou assíncrona, a critério do gerenciador do TSF. O gerente tentará agendar uma sessão de edição síncrona para melhorar o desempenho. Esse valor não pode ser combinado com os valores TF_ES_ASYNC ou TF_ES_SYNC.
TF_ES_SYNC
A sessão de edição deve ser síncrona ou a solicitação falhará (com TF_E_SYNCHRONOUS). Esse sinalizador só deve ser usado em situações documentadas (como manipulação de pressionamento de teclas) em que se espera que ele tenha êxito. Caso contrário, a chamada provavelmente falhará. Esse valor não pode ser combinado com os valores TF_ES_ASYNCDONTCARE ou TF_ES_ASYNC.
TF_ES_READ
Solicita acesso somente leitura ao contexto.
TF_ES_READWRITE
Solicita acesso de leitura/gravação ao contexto.
TF_ES_ASYNC
A sessão de edição deve ser assíncrona ou a solicitação falha. Esse valor não pode ser combinado com os valores TF_ES_ASYNCDONTCARE ou TF_ES_SYNC.

[out] phrSession

Endereço de um valor HRESULT que recebe o resultado da solicitação de sessão de edição. O valor recebido depende do tipo de sessão de edição solicitada.

  • Se uma sessão de edição assíncrona for solicitada e puder ser estabelecida, receberá TF_S_ASYNC.
  • Se uma sessão de edição síncrona for solicitada e não puder ser estabelecida, receberá TF_E_SYNCHRONOUS.
  • Se o sinalizador TF_ES_READWRITE for especificado e o documento for somente leitura, receberá TS_E_READONLY.
  • Se uma sessão de edição síncrona for estabelecida, receberá o valor retornado de ITfEditSession::D oEditSession.

Valor retornado

Esse método pode retornar um desses valores.

Valor Descrição
S_OK
O método foi bem-sucedido. phrSession contém mais dados de resultado para o método .
TF_E_LOCKED
O chamador está dentro do contexto de outro serviço de texto que já contém um bloqueio.
TF_E_DISCONNECTED
O contexto não está em uma pilha de documentos.
E_INVALIDARG
Um ou mais parâmetros são inválidos.
E_OUTOFMEMORY
Ocorreu uma falha de alocação de memória.

Comentários

Sessões de edição assíncronas pendentes são processadas na ordem recebida. Sessões de edição síncronas são processadas antes de qualquer sessão de edição assíncrona pendente.

Um serviço de texto pode solicitar uma sessão de edição dentro do contexto de uma sessão de edição existente, desde que uma sessão de acesso de gravação não seja solicitada em uma sessão somente leitura. As chamadas para esse método dentro do contexto de uma sessão de edição estabelecida por outro serviço de texto falharão com TF_E_LOCKED.

Uma solicitação de leitura/gravação síncrona falhará se for feita ao processar uma das notificações a seguir.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho msctf.h
DLL Msctf.dll
Redistribuível TSF 1.0 no Windows 2000 Professional

Confira também

Interface ITfContext, interface ITfEditSession, ITfStatusSink::OnStatusChange, ITfTextEditSink::OnEndEdit, ITfTextLayoutSink::OnLayoutChange