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.
[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 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 |