Aracılığıyla paylaş


Bölme

Bölme Türleri

Birkaç farklı bölme türü vardır. Genel bir bölme vardır ve her iş parçacığı yöneticisi, belge yöneticisi ve bağlam bir bölme içerebilir.

Genel bölme, istemcilerin işlemler arasında veri paylaşmasına olanak tanır. Genel bölme yöneticisini edinmek için ITfThreadMgr::GetGlobalCompartmentöğesini arayın.

İş parçacığı yöneticisi, iş parçacığı başına bölmeler içeren bir bölme yöneticisi içerir. Bu, verilerin bir iş parçacığı içinde paylaşılmasını sağlar. İş parçacığı yöneticisi bölme yöneticisi edinmek için IID_ITfCompartmentMgr ile ITfThreadMgr::QueryInterface çağırabilirsiniz.

Oluşturulan her belge yöneticisi bir bölme yöneticisi de içerir. Bu, verilerin belirli bir belge yöneticisi içinde paylaşılmasını sağlar. Belge yöneticisi bölme yöneticisini edinmek için IID_ITfCompartmentMgr ile ITfDocumentMgr::QueryInterface çağırın.

Oluşturulan her bağlam bir bölme yöneticisi de içerir. Bu, verilerin belirli bir bağlam içinde paylaşılmasını sağlar. Bağlam bölmesi yöneticisini edinmek için IID_ITfCompartmentMgr ile ITfContext::QueryInterface çağrısında bulunur.

Bölme Oluşturma ve Silme

ITfCompartmentMgr::GetCompartmentilk kezbölme GUID'siyle çağrıldığında bir bölme oluşturulur. Yükleme istemcisi, ITfCompartment::SetValuekullanarak bölmenin ilk değerini ayarlamalıdır. Bir değer ayarlanana kadar bölme değeri boş olur. Bu nedenle, GetCompartment çağrılmadan önce bölmenin mevcut olduğunu doğrulamanın hiçbir yolu yoktur. Bu durumu önlemek için, diğer istemcilerin bölmenin zaten var olup olmadığını belirleyebilmesi için, yükleme istemcisi değeri bir başlangıç değerine ayarlamalıdır.

Bölmeyi kaldırmak için ITfCompartmentMgr::ClearCompartment yöntemi kullanılır. Bölmeye yapılan mevcut başvurular geçersiz olarak işaretlenir.

Bölmeleri Alma

ITfCompartmentMgr arabirimini kullanarak istemci, ITfCompartmentMgr::EnumCompartmentsçağırarak bölmeleri numaralandırabilir. Bu yöntem, yüklü tüm bölmelerin GUID'lerini içeren bir IEnumGUID nesnesi sağlar.

Bölme GUID'sini kullanarak ITfCompartmentMgr::GetCompartment belirli bir bölmeyi elde etmek için kullanılır. Bu yöntem, arayana bölme verilerini alıp ayarlayabilen bir ITfCompartment nesnesi sağlar.

Bölme Değişikliği Bildirimlerini Alma

Bir bölmenin değeri değiştiğinde, TSF yöneticisi tüm yüklü tavsiye havuzlarına bölmenin değiştiğini bildirir. Bölme değişikliği öneri havuzu yüklemek için ITfCompartmentEventSinkuygulayan bir nesne oluşturun. Ardından ITfSourcearabirimini almak için izlenecek bölme nesnesinde IID_ITfSource ileITfCompartment::QueryInterface çağrısı yapın. Şimdi ITfSource::AdviseSink IID_ITfCompartmentEventSink ve ITfCompartmentEventSink nesnesinin işaretçisini çağırın. Bölmenin değeri değiştiğinde, öneri havuzu ITfCompartmentEventSink::OnChange, bölmenin GUID değeriyle çağrılır. Öneri havuzu, yeni değeri almak için ITfCompartment::GetValue çağırabilir.

ITfCompartmentMgr

ITfCompartment

ITfCompartmentEventSink

TfClientId

ITfThreadMgr::GetGlobalCompartment

ITfCompartmentMgr::GetCompartment

ITfCompartment::SetValue

ITfCompartmentMgr::ClearCompartment

ITfCompartmentMgr::EnumCompartments

ITfSource

ITfSource::AdviseSink

ITfCompartmentEventSink::OnChange