Sdílet prostřednictvím


Úseky

Typy oddílů

Existuje několik různých typů oddílů. Existuje globální oddíl a každý správce vláken, správce dokumentů a kontext můžou obsahovat oddíl.

Globální oddíl umožňuje klientům sdílet data napříč procesy. Chcete-li získat globální správce oddílů, zavolejte ITfThreadMgr::GetGlobalCompartment.

Správce vláken obsahuje správce oddílu, který obsahuje oddíly na jednovláknové bázi. To umožňuje sdílení dat v rámci vlákna. Pokud chcete získat správce prostoru správce vláken, zavolejte ITfThreadMgr::QueryInterface s IID_ITfCompartmentMgr.

Každý správce dokumentů vytvořený také obsahuje správce oddílů. To umožňuje sdílení dat v rámci konkrétního správce dokumentů. Pokud chcete získat správce prostoru správce dokumentů, zavolejte ITfDocumentMgr::QueryInterface s IID_ITfCompartmentMgr.

Každý kontext vytvořený také obsahuje správce prostoru. To umožňuje sdílení dat v určitém kontextu. Pokud chcete získat správce kontextových oddílů, zavolejte ITfContext::QueryInterface s IID_ITfCompartmentMgr.

Vytvoření a odstranění oddílu

Při prvním vytvoření oddílu ITfCompartmentMgr::GetCompartment se volá identifikátor GUID oddílu. Instalační klient by měl nastavit počáteční hodnotu oddílu pomocí ITfCompartment::SetValue. Dokud není nastavena hodnota, je hodnota oddílu prázdná. Z tohoto důvodu neexistuje způsob, jak ověřit, že oddíl existoval před GetCompartment byl volána. Aby se této situaci zabránilo, měl by instalační klient nastavit hodnotu na počáteční hodnotu, aby ostatní klienti mohli určit, jestli už oddíl existuje.

Metoda ITfCompartmentMgr::ClearCompartment slouží k odebrání oddílu. Všechny existující odkazy na oddíl jsou označené jako neplatné.

Získávání oddílů

Pomocí rozhraní ITfCompartmentMgr může klient vytvořit výčet oddílů voláním ITfCompartmentMgr::EnumCompartmentsments. Tato metoda poskytuje IEnumGUID objekt, který obsahuje identifikátory GUID všech nainstalovaných oddílů.

Pomocí identifikátoru GUID oddílu ITfCompartmentMgr::GetCompartment se používá k získání konkrétního oddílu. Tato metoda poskytuje volajícímu objekt ITfCompartment objekt, který může získat a nastavit data oddílu.

Příjem oznámení o změnách oddílů

Když se změní hodnota oddílu, správce TSF upozorní všechny nainstalované jímky, že se oddíl změnil. Chcete-li nainstalovat změnu prostoru poradit jímku, vytvořte objekt, který implementuje ITfCompartmentEventSink. Potom zavolejte ITfCompartment::QueryInterface s IID_ITfSource objektu oddílu, který se má monitorovat, a získejte ITfSource rozhraní. Nyní zavolejte ITfSource::AdviseSink s IID_ITfCompartmentEventSink a ukazatelem na objekt ITfCompartmentEventSink. Když se změní hodnota prostoru, doporučte jímce ITfCompartmentEventSink::OnChange je volána s identifikátorem GUID oddílu. Poradit jímka může volat ITfCompartment::GetValue získat novou hodnotu.

ITfCompartmentMgr

ITfCompartment

ITfCompartmentEventSink

TfClientId

ITfThreadMgr::GetGlobalCompartment

ITfCompartmentMgr::GetCompartment

ITfCompartment::SetValue

ITfCompartmentMgr::ClearCompartment

ITfCompartmentMgr::EnumCompartments

ITfSource

ITfSource::AdviseSink

ITfCompartmentEventSink::OnChange