Ú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.
Související témata