Partager via


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

Obtient l’accès au texte et aux propriétés du document.

Syntaxe

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

Paramètres

[in] tid

Contient une valeur TfClientId qui identifie le client avec lequel établir la session de modification.

[in] pes

Pointeur vers une interface ITfEditSession appelée pour effectuer la session de modification.

[in] dwFlags

Contient une ou plusieurs des valeurs suivantes.

Valeur Signification
TF_ES_ASYNCDONTCARE
La session de modification peut se produire de manière synchrone ou asynchrone, à la discrétion du gestionnaire TSF. Le responsable tente de planifier une session de modification synchrone pour améliorer les performances. Cette valeur ne peut pas être combinée avec les valeurs TF_ES_ASYNC ou TF_ES_SYNC.
TF_ES_SYNC
La session de modification doit être synchrone ou la demande échoue (avec TF_E_SYNCHRONOUS). Cet indicateur ne doit être utilisé que dans les situations documentées (telles que la gestion des séquences de touches) où il peut être attendu pour réussir. Sinon, l’appel échouera probablement. Cette valeur ne peut pas être combinée avec les valeurs TF_ES_ASYNCDONTCARE ou TF_ES_ASYNC.
TF_ES_READ
Demande l’accès en lecture seule au contexte.
TF_ES_READWRITE
Demande l’accès en lecture/écriture au contexte.
TF_ES_ASYNC
La session de modification doit être asynchrone ou la demande échoue. Cette valeur ne peut pas être combinée avec les valeurs TF_ES_ASYNCDONTCARE ou TF_ES_SYNC.

[out] phrSession

Adresse d’une valeur HRESULT qui reçoit le résultat de la demande de modification de session. La valeur reçue dépend du type de session de modification demandée.

  • Si une session de modification asynchrone est demandée et peut être établie, reçoit TF_S_ASYNC.
  • Si une session de modification synchrone est demandée et ne peut pas être établie, reçoit TF_E_SYNCHRONOUS.
  • Si l’indicateur TF_ES_READWRITE est spécifié et que le document est en lecture seule, reçoit TS_E_READONLY.
  • Si une session d’édition synchrone est établie, reçoit la valeur de retour de ITfEditSession::D oEditSession.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Valeur Description
S_OK
La méthode a réussi. phrSession contient plus de données de résultats pour la méthode .
TF_E_LOCKED
L’appelant se trouve dans le contexte d’un autre service de texte qui contient déjà un verrou.
TF_E_DISCONNECTED
Le contexte ne se trouve pas sur une pile de documents.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
E_OUTOFMEMORY
Un échec d’allocation de mémoire s’est produit.

Notes

Les sessions de modification asynchrones en attente sont traitées dans l’ordre reçu. Les sessions d’édition synchrone sont traitées avant toute session de modification asynchrone en attente.

Un service de texte peut demander une session de modification dans le contexte d’une session de modification existante, à condition qu’une session d’accès en écriture ne soit pas demandée dans une session en lecture seule. Les appels à cette méthode dans le contexte d’une session de modification établie par un autre service de texte échouent avec TF_E_LOCKED.

Une demande de lecture/écriture synchrone échoue si elle est effectuée lors du traitement de l’une des notifications suivantes.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête msctf.h
DLL Msctf.dll
Composant redistribuable TSF 1.0 sur Windows 2000 Professionnel

Voir aussi

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