Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/108392

From BetaArchive Wiki

Definitions of the OLE 2.0 DLLs


The information in this article applies to:

  • Microsoft Publisher versions 2.0, 2.0a


Below is a listing of the OLE 2.0 dynamic link libraries (DLLs) that ship with Publisher 2.0 and what each is responsible for within the OLE 2.0 structure.


PUBOLE.DLL provides a hierarchical OLE object model and file input/output support that makes OLE 2.0 look more like OLE 1.0 than it otherwise would. It also isolates much of the "default" OLE 2.0 behavior from the core of Publisher, where we prefer not to have too much special-case code.


Provides the Insert Object, Paste Special, Edit Links, Update Links, Convert, and Change Icon dialog boxes. This code originated as OLE sample code and is shipped in sample-code form with the OLE 2.0x SDK, which should explain some of its unexpected behavior.


This library is the "glue" that holds all of OLE together. COMPOBJ provides the services that "attach" or "bind" .DLL and .EXE objects to the application that wants to use them (for example, COMPOBJ binds WORDART2.EXE to MSPUB.EXE when we create a WordArt2 object) based on the "Global Unique Identifiers" (guides--those long {"several numbered in the brackets"} strings in REG.DAT) that are also called CLSIDs (Class Identifiers) and IIDs (Interface Identifiers).


"OLE 2 Proxy DLL" This library marshalls conversations between .EXE containers (such as Publisher) and .EXE servers (such as WordArt2). Due to the architecture of Windows, Publisher cannot talk directly with WordArt2 or any other .EXE server by making function calls into it like it can with .DLL objects; therefore, it instead makes function calls to dummy functions inside OLE2PROX (Publisher actually doesn't know anything about this, it simply makes function calls to talk with the object). OLE2PROX routes these function calls and any data being passed from Publisher through a service called lightweight remote procedure call (LRPC), which is provided by COMPOBJ.DLL, and they are therefore transported into the WORDART2 EXE.


Provides some OLE Automation helper functions to applications that allow Visual Basic for Applications to use the application from BASIC. Specifically, this library gives applications some default behavior (that is, extremely common code) which has been shown to be useful for the Office applications, although it may not be useful to Publisher or other applications in the future. This is not used currently by Publisher, but we are required to ship it as an OLE 2.0 user.


OLE2CONV.DLL provides a conversion function to convert Macintosh PICT format pictures into Windows metafiles. This is not currently used by Publisher, but we are required to ship it as an OLE 2.0 user.


NLS - National Language Support. OLE2NLS.DLL provides functions for dealing with unicode strings. These strings can be in multiple-character sets (for example, Arabic and Chinese) and contain all the information relevant to their language and their locale. This is not currently used by Publisher, but we are required to ship it as an OLE 2.0 user.


STORAGE.DLL is used to provide us with a more abstract view of our files. Instead of looking like a flat stream of bytes on the disk, STORAGE.DLL lets us look at the file as if it were an entire file system, complete with subdirectories and files that we can copy, delete, and move. Part of this structuring is necessary so that we can have a nice place to put OLE objects (each requires its own subdirectory inside our file), and part of it is provided to help applications become a bit more compatible. (For example, we each save our previews in a particular "file" inside our file, which any application that uses STORAGE.DLL can find and use for previews in their OpenFile or FindFile dialog boxes.) This structure can also help applications be more robust and even faster.


The TYPELIB.DLL file is a collection of type libraries that contain information, such as properties, methods, procedures, and predefined constants, about one or more objects which are available via OLE Automation. For example, the Visual Basic objects and procedures library, included in every Visual Basic project, is an example of a type library.


The CTL3D.DLL controls the three-dimensional look and feel of objects in the Windows environment. This file was shipped with Publisher 2.0.


The CTL3DV2.DLL replaced the CTL3D.DLL file with the release of Publisher 2.0a. Like the CTL3D.DLL, it controls the three-dimensional look and feel of objects in Windows.

Additional query words: mspub ppt publisher powerpoint point power macppt winppt works

Keywords :
Issue type :
Technology :

Last Reviewed: November 23, 1999
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.