Metodo ITfContext::RequestEditSession (msctf.h)

Ottiene l'accesso al testo e alle proprietà del documento.

Sintassi

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

Parametri

[in] tid

Contiene un valore TfClientId che identifica il client per stabilire la sessione di modifica con.

[in] pes

Puntatore a un'interfaccia ITfEditSession chiamata per eseguire la sessione di modifica.

[in] dwFlags

Contiene uno o più dei valori seguenti.

Valore Significato
TF_ES_ASYNCDONTCARE
La sessione di modifica può verificarsi in modo sincrono o asincrono, a discrezione del manager TSF. Il manager tenterà di pianificare una sessione di modifica sincrona per migliorare le prestazioni. Questo valore non può essere combinato con i valori TF_ES_ASYNC o TF_ES_SYNC.
TF_ES_SYNC
La sessione di modifica deve essere sincrona o la richiesta avrà esito negativo (con TF_E_SYNCHRONOUS). Questo flag deve essere usato solo in situazioni documentate (ad esempio la gestione delle sequenze di tasti) in cui può essere previsto che abbia esito positivo. In caso contrario, la chiamata avrà esito negativo. Questo valore non può essere combinato con i valori TF_ES_ASYNCDONTCARE o TF_ES_ASYNC.
TF_ES_READ
Richiede l'accesso in sola lettura al contesto.
TF_ES_READWRITE
Richiede l'accesso in lettura/scrittura al contesto.
TF_ES_ASYNC
La sessione di modifica deve essere asincrona o la richiesta ha esito negativo. Questo valore non può essere combinato con i valori TF_ES_ASYNCDONTCARE o TF_ES_SYNC.

[out] phrSession

Indirizzo di un valore HRESULT che riceve il risultato della richiesta di sessione di modifica. Il valore ricevuto dipende dal tipo di sessione di modifica richiesto.

  • Se viene richiesta una sessione di modifica asincrona e può essere stabilita, riceve TF_S_ASYNC.
  • Se viene richiesta una sessione di modifica sincrona e non può essere stabilita, riceve TF_E_SYNCHRONOUS.
  • Se viene specificato il flag TF_ES_READWRITE e il documento è di sola lettura, riceve TS_E_READONLY.
  • Se viene stabilita una sessione di modifica sincrona, riceve il valore restituito di ITfEditSession::D oEditSession.

Valore restituito

Questo metodo può restituire uno di questi valori.

Valore Descrizione
S_OK
Il metodo è stato eseguito correttamente. phrSession contiene più dati dei risultati per il metodo.
TF_E_LOCKED
Il chiamante si trova nel contesto di un altro servizio di testo che contiene già un blocco.
TF_E_DISCONNECTED
Il contesto non è in uno stack di documenti.
E_INVALIDARG
Uno o più parametri non sono validi.
E_OUTOFMEMORY
Si è verificato un errore di allocazione della memoria.

Commenti

Le sessioni di modifica asincrone in sospeso vengono elaborate nell'ordine ricevuto. Le sessioni di modifica sincrone vengono elaborate prima di qualsiasi sessione di modifica asincrona in sospeso.

Un servizio di testo può richiedere una sessione di modifica nel contesto di una sessione di modifica esistente, purché una sessione di accesso in scrittura non venga richiesta all'interno di una sessione di sola lettura. Le chiamate a questo metodo nel contesto di una sessione di modifica stabilita da un altro servizio di testo avranno esito negativo con TF_E_LOCKED.

Una richiesta di lettura/scrittura sincrona avrà esito negativo se effettuata durante l'elaborazione di una delle notifiche seguenti.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione msctf.h
DLL Msctf.dll
Componente ridistribuibile TSF 1.0 in Windows 2000 Professional

Vedi anche

Interfaccia ITfContext, interfaccia ITfEditSession, ITfStatusSink::OnStatusChange, ITfTextEditSink::OnEndEdit, ITfTextLayoutSink::OnLayoutChange