Freigeben über


ITextStoreACP2::RequestLock-Methode (textstor.h)

Wird vom TSF-Manager aufgerufen, um eine Dokumentsperre bereitzustellen, um das Dokument zu ändern. Diese Methode ruft die OnLockGranted-Methode auf, um die Dokumentsperre zu erstellen.

Syntax

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

Parameter

[in] dwLockFlags

Gibt den Typ der angeforderten Sperre an.

Wert Bedeutung
TS_LF_READ
Das Dokument verfügt über eine schreibgeschützte Sperre und kann nicht geändert werden.
TS_LF_READWRITE
Das Dokument verfügt über eine Lese-/Schreibsperre und kann geändert werden.
TS_LF_SYNC
Das Dokument verfügt über eine synchrone Sperre, wenn dieses Flag mit anderen Flags kombiniert wird.

[out] phrSession

Wenn die Sperranforderung synchron ist, empfängt einen HRESULT-Wert von der OnLockGranted-Methode , der das Ergebnis der Sperranforderung angibt.

Wenn die Sperranforderung asynchron ist und das Ergebnis TS_S_ASYNC ist, erhält das Dokument eine asynchrone Sperre. Wenn die Sperranforderung asynchron ist und das Ergebnis TS_E_SYNCHRONOUS ist, kann das Dokument nicht synchron gesperrt werden.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Wert BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
E_FAIL
Es ist ein unbekannter Fehler aufgetreten.

Hinweise

Diese Methode verwendet die OnLockGranted-Methode , um das Dokument zu sperren. Anwendungen dürfen niemals das Dokument ändern oder Änderungsbenachrichtigungen mithilfe der OnTextChange-Methode innerhalb der RequestLock-Methode senden. Wenn für die Anwendung ausstehende Änderungen gemeldet werden müssen, kann die Anwendung nur auf die asynchrone Sperranforderung reagieren.

Anwendungen sollten nicht versuchen, mehrere RequestLock-Methodenaufrufe in die Warteschlange zu stellen, da die Anwendung nur einen einzelnen Rückruf erfordert. Wenn der Aufrufer jedoch mehrere Leseanforderungen und eine oder mehrere Schreibanforderungen vornimmt, sollte der Rückruf für den Schreibzugriff erfolgen.

Erfolgreiche Anforderungen für synchrone Sperren ersetzt Anforderungen für asynchrone Sperren. Bei nicht erfolgreichen Anforderungen für synchrone Sperren werden Anforderungen für asynchrone Sperren nicht abgelöst. Die Implementierung muss weiterhin die ausstehende asynchrone Anforderung verarbeiten, sofern vorhanden.

Wenn die Sperre gewährt wird, bevor die RequestLock-Methode zurückgibt, empfängt der parameter phrSession das von der OnLockGranted-Methode zurückgegebene HRESULT. Wenn der Aufruf erfolgreich ist, die Sperre aber später gewährt wird, empfängt der parameter phrSession das flag TS_S_ASYNC. Der parameter phrSession sollte ignoriert werden, wenn RequestLock etwas anderes als S_OK zurückgibt.

Ein Aufrufer sollte diese Methode niemals erneut aufrufen, außer für den Fall, dass der Aufrufer über eine schreibgeschützte Sperre verfügt. In diesem Fall kann die -Methode wiederholt aufgerufen werden, um eine asynchrone Schreibsperre zu fordern. Die Schreibsperre wird später gewährt, nachdem die schreibgeschützte Sperre endet.

Weitere Informationen zu Dokumentsperren finden Sie unter Dokumentsperren.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile textstor.h
DLL Msctf.dll

Weitere Informationen

Dokumentsperren

ITextStoreACP2

OnLockGranted

TS_LF_*-Konstanten

Textspeicher-Rückgabewerte