An in-process server provides all the benefits that an in-process handler provides except that loading time is generally a little slower because the DLL is larger. Nonetheless, you still gain all the performance benefits of a handler. You can also license an in-process server DLL for distribution if you see fit, using simple registry entries or other licensing information to limit its functionality and to display advertising as desired.
The primary benefit of an in-process server is that all the speed and portability of a handler and all the editing capabilities of a local server are stored inside a single disk entity—true one-stop shopping for an embedded object. Accordingly, in-process servers are a great choice for OLE Controls as well as for other objects that provide a dialog box–type user interface that then appears to be a native part of the container application. The version of Polyline that we create in this chapter will have just such a user interface.