Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Om ett OLE-serverprogram är en lokal server, vilket innebär att det körs i sitt eget processutrymme, måste kommunikationen mellan containern och servern ske över processgränserna. Eftersom den här processen är dyr förlitar sig OLE på ett surrogatobjekt som läses in i containerns processutrymme för att agera på uppdrag av ett lokalt serverprogram. Det här surrogatobjektet, som kallas objekthanterare, , tjänstcontainerbegäranden som inte kräver serverprogrammets uppmärksamhet, till exempel begäranden om ritning. När en container begär något som objekthanteraren inte kan tillhandahålla kommunicerar hanteraren med serverprogrammet med COM:s mekanism för kommunikation utan process.
En objekthanterare är unik för en objektklass. När du skapar en instans av en hanterare för en klass kan du inte använda den för en annan. När det används för ett sammansatt dokument implementerar objekthanteraren datastrukturerna på containersidan när objekt i en viss klass nås via fjärranslutning.
OLE tillhandahåller en standardobjekthanterare som lokala serverprogram kan använda. För program som kräver särskilda beteenden kan utvecklare implementera en anpassad hanterare som antingen ersätter standardhanteraren eller använder den för att tillhandahålla vissa standardbeteenden.
En objekthanterare är en DLL som innehåller flera interagerande komponenter. Dessa komponenter omfattar fjärrkommunikationsdelar för att hantera kommunikationen mellan hanteraren och dess serverprogram, en cache för lagring av ett objekts data, samt information om hur dessa data ska formateras och visas samt ett kontrollerande objekt som samordnar aktiviteterna för DLL:ers andra komponenter. Om ett objekt är en länk innehåller DLL också en länkkomponent, eller länkat objekt, som håller reda på länkkällans namn och plats.
Det cacheminnet innehåller data och presentationsinformation som räcker för att hanteraren ska kunna visa ett inläst, men inte körs, objekt i containern. OLE tillhandahåller en implementering av cachen som används av OLE:s standardobjekthanterare och länkobjektet. Cacheminnet lagrar data i format som krävs av objekthanteraren för att uppfylla begäranden om containerdragning. När ett objekts data ändras skickar objektet ett meddelande till cacheminnet så att en uppdatering kan ske. Mer information om cachen finns i Visa cachelagring.
Mer information finns i följande avsnitt:
Relaterade ämnen