In writing this book, I assumed that readers are familiar with the Windows API (primarily the Win32 API) because OLE itself, unlike Win32, is not a technology for writing a complete application (although you could build one out of OLE components). I don't describe how to use Windows API functions, nor do I describe any of the intricate details of Windows itself. The focus of this book is strictly on OLE.
I also assume that readers are at least somewhat familiar with object-oriented programming because I can spend only a paragraph or two defining terms such as polymorphism and encapsulation. (Entire books could be written about these terms.) In addition, I assume a working familiarity with C++; almost all the samples are written using basic C++ constructs. If you are a C programmer, I've included some material on the companion CD that should help you understand enough C++ to understand the samples.
This book, however, is not intended only for programmers. In fact, the chapter organization allows a designer to gain architectural knowledge of OLE without having to wade through pages of source code listings. The first half or so of each chapter (except for Chapters 1 and 2) is devoted to architectural and theoretical concepts. The latter half of each chapter contains primarily programming details, plus a detailed look at the samples and a discussion of implementation issues.
The samples are written to work on systems with Windows 95, Windows NT 3.51, and Windows 3.1x (if you're still doing 16-bit work). They compile to 16-bit systems (with a couple of exceptions) as well as 32-bit systems (both ANSI and Unicode). To that end, you'll need the following development software on your system to work with the samples in this book:
- Either Windows 95, Windows NT 3.51, or Windows 3.1 (or 3.11)
- Microsoft Visual C++ 2.0 (or later, for 32-bit platforms) or Microsoft Visual C++ 1.51 (or later, for 16-bit platforms). Both products include the Windows Software Development Kit (SDK) for their respective platforms, which is also required. The make files for the samples in this book are specific to Microsoft compilers, so some adjustment will be necessary for other environments. Elements such as compiler flags and import libraries, however, are centralized in one file. Chapter 1 includes more information about creating the appropriate build environment for the book's samples.
- Certain samples require the OLE Control Development Kit (CDK), which is included with Visual C++ 2.0 (and later) and Visual C++ 1.51 (and later).
- Depending on your compiler, you may need the Win32 Software Development Kit (SDK) for certain samples as well.