Megosztás a következőn keresztül:


Dokumentumzárak

A Dokumentumzárolási protokoll

Az AKCS-alapú alkalmazások dokumentumzárolásának kéréséhez a TSF-kezelő meghívja ITextStoreACP::RequestLock. Horgonyalapú alkalmazások esetén a TSF-kezelő meghívja ITextStoreAnchor::RequestLock. Az alkalmazás ITextStoreACPSink::OnLockGranted (ACP-alapú alkalmazások) vagy ITextStoreAnchorSink::OnLockGranted (horgonyalapú alkalmazások) meghívásával RequestLock. A zárolás csak a OnLockGranted hívás során érvényes. Amikor OnLockGranted ad vissza, a rendszer zároltnak tekinti a dokumentumot.

Dokumentumzárak típusai

A dokumentumzárolásnak két típusa van: írásvédett és írási/olvasási. Az írásvédett zárolás lehetővé teszi, hogy a kezelő beolvassa a szöveget, de nem módosíthatja vagy beszúrhatja a szöveget. Az olvasási/írási zárolás lehetővé teszi a kezelő számára a szöveg olvasását, módosítását és beszúrását. Írásvédett zárolást kér a rendszer a dwFlagsTS_LF_READ megadásával. A rendszer olvasási/írási zárolást kér a dwFlagsTS_LF_READWRITE megadásával.

Aszinkron és szinkron kérelmek

A zárolási kérelem lehet szinkron vagy aszinkron. A kezelő szinkron zárolást kér a dwFlags TS_LF_SYNC jelzőjével. Ha ez a jelző nincs jelen, a kérés aszinkron.

A zárolás engedélyezése

Ha RequestLock van meghívva, az alkalmazásnak meg kell állapítania, hogy a dokumentum jelenleg zárolva van-e. Ha a dokumentum nincs zárolva, és nincs más ok a zárolás megtagadására, az alkalmazásnak be kell állítania phrSession S_OK és visszatérési S_OK.

Ha a dokumentum zárolva van, és a zárolási kérelem szinkron, az alkalmazásnak phrSession kell beállítania, hogy TS_E_SYNCHRONOUS és adja vissza S_OK. Ez azt jelzi, hogy szinkron kérés nem adható meg.

Ha a dokumentum zárolva van, és a zárolási kérelem aszinkron, az alkalmazásnak várólistára kell helyeznie a kérést, állítsa be kifejezési TS_S_ASYNC és adja vissza S_OK. Amikor a dokumentum elérhetővé válik, az alkalmazásnak el kell távolítania a kérést az üzenetsorból, és meghívnia OnLockGranted. A zárolási kérelmek várólistára helyezése nem kötelező; van egy olyan forgatókönyv, amelyet egy alkalmazásnak támogatnia kell. Ha a dokumentum írásvédett zárolással rendelkezik, az új zárolási kérés írási/olvasási és aszinkron, az alkalmazás betárcsázott OnLockGranted, ami miatt újrahívás történt RequestLock. Az alkalmazásnak phrSession TS_S_ASYNC kell beállítania, és vissza kell adnia S_OK. A OnLockGranted hívása után az alkalmazásnak feldolgoznia kell a frissítési kérelmet úgy, hogy újra meghívja OnLockGranted TS_LF_READWRITE.

Zárolási kényszerítés

Az alkalmazásnak meg kell győződnie arról, hogy a megfelelő típusú zárolás létezik a dokumentumhoz való hozzáférés engedélyezése előtt. Az alkalmazásnak például ellenőriznie kell, hogy egy dokumentum legalább írásvédett zárolással rendelkezik-e, mielőtt engedélyezi ITextStoreACP::GetText vagy ITextStoreAnchor::GetText a folytatáshoz. Ha a megfelelő zárolás nem létezik, az alkalmazásnak TF_E_NOLOCK kell visszaadnia.

szövegtárolók

ITextStoreACP::RequestLock

ITextStoreACPSink::OnLockGranted

ITextStoreACP::GetText

ITextStoreAnchor::RequestLock

ITextStoreAnchorSink::OnLockGranted

ITextStoreAnchor::GetText