Freigeben über


ITextStoreAnchor::RequestLock-Methode (textstor.h)

Wird vom TSF-Manager verwendet, um eine Dokumentsperre bereitzustellen, um den Textstream zu ändern.

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 ITextStoreAnchorSink::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 ITextStoreAnchorSink::OnLockGranted-Methode , um das Dokument zu sperren. Anwendungen dürfen niemals das Dokument ändern oder Änderungsbenachrichtigungen mithilfe der ITextStoreAnchorSink::OnTextChange-Methode innerhalb der ITextStoreAnchor::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 ITextStoreAnchor::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 ITextStoreAnchor::RequestLock-Methode zurückgibt, empfängt der parameter phrSession das von der ITextStoreAnchorSink::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 ITextStoreAnchor::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 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile textstor.h
DLL Msctf.dll
Verteilbare Komponente TSF 1.0 unter Windows 2000 Professional

Weitere Informationen

Dokumentsperren

ITextStoreAnchor

ITextStoreAnchorsink::OnLockGranted

TS_LF_*-Konstanten

Textspeicher-Rückgabewerte