Méthode ITextStoreAnchor ::RequestLock (textstor.h)
Utilisé par le gestionnaire TSF pour fournir un verrou de document afin de modifier le flux de texte.
Syntaxe
HRESULT RequestLock(
[in] DWORD dwLockFlags,
[out] HRESULT *phrSession
);
Paramètres
[in] dwLockFlags
Spécifie le type de verrou demandé.
[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 |
---|---|
|
La méthode a réussi. |
|
Une erreur non spécifiée s'est produite. |
Remarques
Cette méthode utilise la méthode ITextStoreAnchorSink ::OnLockGranted pour verrouiller le document. Les applications ne doivent jamais modifier le document ou envoyer de notifications de modification à l’aide de la méthode ITextStoreAnchorSink ::OnTextChange à partir de la méthode ITextStoreAnchor ::RequestLock . Si l’application a des modifications en attente de rapport, l’application ne peut répondre qu’à la demande de verrouillage asynchrone.
Les applications ne doivent pas tenter de mettre en file d’attente plusieurs appels de méthode ITextStoreAnchor ::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 de verrous synchrones réussies remplacent les demandes de verrous asynchrones. Les demandes infructueuses de 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 ITextStoreAnchor ::RequestLock , le paramètre phrSession reçoit le HRESULT retourné par la méthode ITextStoreAnchorSink ::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 ITextStoreAnchor ::RequestLock retourne autre chose que S_OK.
Un appelant ne doit jamais appeler cette méthode de manière réentrante, 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 manière réentrante 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 | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | textstor.h |
DLL | Msctf.dll |
Composant redistribuable | TSF 1.0 sur Windows 2000 Professionnel |