Partager via


Méthode ITextStoreACP2 ::RequestLock (textstor.h)

Appelé par le gestionnaire TSF pour fournir un verrou de document afin de modifier le document. Cette méthode appelle la méthode OnLockGranted pour créer le verrou de document.

Syntaxe

HRESULT RequestLock(
  [in]  DWORD   dwLockFlags,
  [out] HRESULT *phrSession
);

Paramètres

[in] dwLockFlags

Spécifie le type de verrou demandé.

Valeur Signification
TS_LF_READ
Le document a un verrou en lecture seule et ne peut pas être modifié.
TS_LF_READWRITE
Le document a un verrou en lecture/écriture et peut être modifié.
TS_LF_SYNC
Le document a un verrou synchrone si cet indicateur est combiné à d’autres indicateurs.

[out] phrSession

Si la demande de verrouillage est synchrone, reçoit une valeur HRESULT de la méthode OnLockGranted qui spécifie le résultat de la demande de verrouillage.

Si la demande de verrouillage est asynchrone et que le résultat est TS_S_ASYNC, le document reçoit un verrou asynchrone. Si la demande de verrouillage est asynchrone et que le résultat est TS_E_SYNCHRONOUS, le document ne peut pas être verrouillé de manière synchrone.

Valeur retournée

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

Valeur Description
S_OK
La méthode a réussi.
E_FAIL
Une erreur non spécifiée s'est produite.

Remarques

Cette méthode utilise la méthode OnLockGranted pour verrouiller le document. Les applications ne doivent jamais modifier le document ni envoyer de notifications de modification à l’aide de la méthode OnTextChange à partir de la méthode RequestLock . Si l’application a des modifications en attente de rapport, l’application peut uniquement répondre à la demande de verrouillage asynchrone.

Les applications ne doivent pas tenter de mettre en file d’attente plusieurs appels de méthode RequestLock , car l’application ne nécessite qu’un seul rappel. Toutefois, si l’appelant effectue plusieurs demandes de lecture et une ou plusieurs demandes d’écriture, le rappel doit être destiné à l’accès en écriture.

Les demandes réussies pour les verrous synchrones remplacent les demandes de verrous asynchrones. Les demandes infructueuses pour les verrous synchrones ne remplacent pas les demandes de verrous asynchrones. L’implémentation doit toujours traiter la requête asynchrone en suspens, le cas échéant.

Si le verrou est accordé avant le retour de la méthode RequestLock , le paramètre phrSession reçoit le HRESULT retourné par la méthode OnLockGranted . Si l’appel réussit, mais que le verrou sera accordé ultérieurement, le paramètre phrSession reçoit l’indicateur TS_S_ASYNC. Le paramètre phrSession doit être ignoré si RequestLock retourne autre chose que S_OK.

Un appelant ne doit jamais appeler cette méthode à nouveau, sauf dans le cas où l’appelant détient un verrou en lecture seule. Dans ce cas, la méthode peut être appelée de façon réentrée pour demander un verrou d’écriture asynchrone. Le verrou d’écriture sera accordé ultérieurement, une fois le verrou en lecture seule terminé.

Pour plus d’informations sur les verrous de document, consultez Verrous de document.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête textstor.h
DLL Msctf.dll

Voir aussi

Verrous de document

ITextStoreACP2

OnLockGranted

constantes TS_LF_*

Valeurs de retour du magasin de texte