About This Book

The Object Linking and Embedding Programmer's Reference is a book for developers that provides a complete reference to the extensible application protocol known as OLE (Object Linking and Embedding). While OLE can run on other platforms such as the Apple Macintosh system, the focus of this book is about OLE for computers that use the Microsoft Windows operating system, version 3.0 and higher.

Note...Object Linking and Embedding is an extensible protocol that was jointly developed by a group of Independent Software Vendors (ISVs) including Microsoft, Aldus, Lotus, Micrografx, and others.

To get the most out of this book, you should be familiar with the following:

The C programming language. A large portion of this book includes source code written in C.

Microsoft Windows programming environment, version 3.0 and higher. The OLE protocols are implemented through dynamic-linked libraries (DLLs) that are used in conjunction with other Microsoft Windows programs.

The following list summarizes the book's contents:

Chapter 1, "Introduction to OLE," introduces the basic concepts of OLE, both from the user's point of view and the developer's point of view.

Chapter 2, "Considerations for OLE Applications," continues with specific considerations that the developer should evaluate before beginning to create an OLE application.

Chapter 3, "The OLE User Interface," covers the user interface guidelines that a developer should follow to ensure that an OLE application will fit in seamlessly with other Windows applications.

Chapter 4, "Implementing Server Applications," gives guidelines on how to create OLE server applications, which are the applications that create and modify OLE objects.

Chapter 5, "Implementing Client Applications," gives guidelines on how to create OLE client applications, which are the applications that contain and display OLE objects.

Chapter 6, "Implementing Object Handlers," gives guidelines on how to create object handlers, which are small applications that enhance and complement server applications.

Chapter 7, "Callback Functions and Data Structures," outlines the callback functions and data structures that are unique to OLE.

Chapter 8, "The OLE Server DLL," gives detailed reference information about the API functions that make up the OLE server DLL.

Chapter 9, "The OLE Client DLL," gives detailed reference information about the API functions that make up the OLE client DLL.

Chapter 10, "Using the Registration Database," explains how OLE uses the system registration database. OLE server applications register themselves in the database so that OLE client applications can find the appropriate server application to work with objects.

Chapter 11, "Testing OLE Applications," gives a detailed set of testing procedures and guidelines that developers can use to test their OLE applications.

Chapter 12, "Providing User Documention," gives guidelines to developers on how to explain OLE to the users of OLE applications.

Appendix A, "Creating Distribution Disks," explains what programs must be on the OLE application's distribution disks.

Appendix B, "Error Codes," lists the error codes that the OLE libraries generate to the client and server applications.

Appendix C, "File Formats," lists the file formats of OLE objects and provides a cross-reference to file format compatibility between OLE for Microsoft Windows and OLE for the Apple Macintosh.

"Glossary of Terms" lists the terms that are specific to OLE.