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.
[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 |
---|---|
|
Die Methode war erfolgreich. |
|
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 |