Partager via


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

La méthode ITextStoreACP ::RequestLock est appelée par le gestionnaire TSF pour fournir un verrou de document afin de modifier le document. Cette méthode appelle la méthode ITextStoreACPSink ::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 ITextStoreAnchorSink ::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 ITextStoreACPSink ::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 ITextStoreACPSink ::OnTextChange à partir de la méthode ITextStoreACP ::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 ITextStoreACP ::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 ITextStoreACP ::RequestLock , le paramètre phrSession reçoit le HRESULT retourné par la méthode ITextStoreACPSink ::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 ITextStoreACP ::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 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête textstor.h
DLL Msctf.dll
Composant redistribuable TSF 1.0 sur Windows 2000 Professionnel

Voir aussi

Verrous de document

ITextStoreACP

ITextStoreACPSink ::OnLockGranted

constantes TS_LF_*

Valeurs de retour du magasin de texte