Delen via


In-Process Servers

Als u een OLE-servertoepassing implementeert als een in-process-server ( een DLL die wordt uitgevoerd in de procesruimte van de containertoepassing ) in plaats van als een lokale server - een EXE die wordt uitgevoerd in een eigen procesruimte , wordt de communicatie tussen de container en de server vereenvoudigd omdat de communicatie tussen de twee de vorm van normale functieaanroepen kan aannemen. Externe procedure-aanroepen zijn niet vereist omdat de twee toepassingen in dezelfde procesruimte worden uitgevoerd. Zoals u zou verwachten, zijn de objecten die de marshaling van parameters beheren ook onnodig, hoewel ze mogelijk worden samengevoegd in het DLL-bestand zonder de communicatie tussen container en server te verstoren.

Wanneer een OLE-servertoepassing wordt geïmplementeerd als een in-process server, is een afzonderlijke objecthandler niet vereist omdat de server zelf zich in de procesruimte van de client bevindt. Het belangrijkste verschil tussen een in-process server en objecthandler is dat de server het object in een actieve status kan beheren, terwijl de handler dat niet kan. Een gevolg van dit verschil is dat een server een gebruikersinterface moet bieden voor het bewerken van het actieve object, terwijl een handler deze vereiste delegeert aan de server van het object. Bij het maken van een in-process-server kunt u aggregeren op de STANDAARD-OLE-handler, zodat deze eenvoudige taken kan verwerken, zoals weergave, opslag en meldingen terwijl u alleen die services implementeert die de handler niet levert of niet implementeert op de manier die u nodig hebt.

Zie de volgende onderwerpen voor meer informatie:

samengestelde documenten