Freigeben über


ITextStoreACP::RequestLock-Methode (textstor.h)

Die ITextStoreACP::RequestLock-Methode wird vom TSF-Manager aufgerufen, um eine Dokumentsperre bereitzustellen, um das Dokument zu ändern. Diese Methode ruft die ITextStoreACPSink::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 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 ITextStoreACPSink::OnLockGranted-Methode , um das Dokument zu sperren. Anwendungen dürfen niemals das Dokument ändern oder Änderungsbenachrichtigungen mithilfe der ITextStoreACPSink::OnTextChange-Methode innerhalb der ITextStoreACP::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 ITextStoreACP::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 ITextStoreACP::RequestLock-Methode zurückgibt, empfängt der parameter phrSession das von der ITextStoreACPSink::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 ITextStoreACP::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 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile textstor.h
DLL Msctf.dll
Verteilbare Komponente TSF 1.0 unter Windows 2000 Professional

Weitere Informationen

Dokumentsperren

Itextstoreacp

ITextStoreACPSink::OnLockGranted

TS_LF_*-Konstanten

Textspeicher-Rückgabewerte