Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Facktyper
Det finns flera olika typer av fack. Det finns ett globalt fack och varje trådhanterare, dokumenthanterare och kontext kan innehålla ett fack.
Det globala facket gör det möjligt för klienter att dela data mellan processer. Om du vill hämta den globala fackhanteraren anropar du ITfThreadMgr::GetGlobalCompartment.
Trådhanteraren innehåller en fackhanterare som innehåller fack per tråd. Detta gör att data kan delas i en tråd. Om du vill hämta en fackhanterare för trådhanteraren anropar du ITfThreadMgr::QueryInterface med IID_ITfCompartmentMgr.
Varje dokumenthanterare som skapas innehåller också en fackhanterare. Detta gör att data kan delas i en specifik dokumenthanterare. Anropa ITfDocumentMgr::QueryInterface med IID_ITfCompartmentMgr för att hämta dokumenthanterarens fackhanterare.
Varje kontext som skapas innehåller också en fackhanterare. Detta gör att data kan delas i en specifik kontext. Om du vill hämta en kontextfackhanterare anropar du ITfContext::QueryInterface med IID_ITfCompartmentMgr.
Skapa och ta bort ett fack
Ett fack skapas första gången ITfCompartmentMgr::GetCompartment anropas med fack-GUID. Installationsklienten bör ange det ursprungliga värdet för facket med hjälp av ITfCompartment::SetValue. Tills ett värde har angetts är fackvärdet tomt. På grund av detta finns det inget sätt att kontrollera att facket fanns innan GetCompartment- anropades. För att undvika den här situationen bör installationsklienten ange värdet till ett initialt värde så att andra klienter kan avgöra om facket redan finns.
Metoden ITfCompartmentMgr::ClearCompartment används för att ta bort ett fack. Alla befintliga referenser till facket har markerats som ogiltiga.
Skaffa fack
Med hjälp av gränssnittet ITfCompartmentMgr kan en klient räkna upp fack genom att anropa ITfCompartmentMgr::EnumCompartments. Den här metoden innehåller ett IEnumGUID- objekt som innehåller GUID:erna för alla installerade fack.
Med hjälp av fack-GUID används ITfCompartmentMgr::GetCompartment för att hämta ett specifikt fack. Den här metoden ger anroparen ett ITfCompartment- objekt som kan hämta och ange fackdata.
Ta emot meddelanden om byte av fack
När värdet för ett fack ändras meddelar TSF-chefen alla installerade mottagare om att facket har ändrats. Om du vill installera en fackändringsrekommendabel skapar du ett objekt som implementerar ITfCompartmentEventSink. Anropa sedan ITfCompartment::QueryInterface med IID_ITfSource på det fackobjekt som ska övervakas för att hämta ett ITfSource--gränssnitt. Anropa nu ITfSource::AdviseSink med IID_ITfCompartmentEventSink och pekaren till objektet ITfCompartmentEventSink. När värdet för facket ändras anropas rekommenderad mottagares ITfCompartmentEventSink::OnChange med GUID för facket. Den rekommenderade mottagaren kan anropa ITfCompartment::GetValue för att hämta det nya värdet.
Relaterade ämnen