4.1.2 SDI Servers vs. MDI Servers

A server application can be either a single-document interface (SDI) or multiple-document interface (MDI). MDI server applications optimize the workspace for a set of documents in an application.

When the server library, OLESVR.DLL, initiates the editing of an object, it starts another instance of an SDI server application, but tells an MDI server application to simply create a new window in which to edit that object.

4.1.2.1 Registering SDI servers

An SDI OLE server application should never register itself as a single-instance server since doing so prevents the application from starting other instances of itself to edit objects. Instead, an SDI server application should register itself as a multi-instance server by specifying OLE_SERVER_MULTI when calling the OleRegisterServer function.

4.1.2.2 Registering MDI servers

An MDI server application can be either a single-instance or a multi-instance OLE server. However, an MDI server application registered as a single-instance server tends to have improved performance over MDI applications registered as multi-instance servers.