Professional Documents
Culture Documents
ROOT DIRECTORY ON CD
----------------------
File Description
--------------------------------------------
about.dlg Dialog template for About box
ROOT DIRECTORY
File Description
--------------------------------------------
inole-a.mak Definitions of symbols, compiler flags,
linker flags, and makefile rules.
inole-b.mak Linker scripts
makeall.bat Global build script
mksamp1.bat Default script for building an MDI or SDI
sample, depending on the SDI environment variable.
mksamp2.bat Default script for building a simple sample
mksamp3.bat Default script for building a simple sample in
a second-level directory (one deeper than mksamp2.bat)
BUILD DIRECTORY
Binary EXE and DLL files for all the samples. INOLE.DLL is
the most important, which should be in your PATH when attempting
to run most of the book's samples.
Directory Description
--------------------------------------
CHAP01\COSMO Fully functional version of Cosmo written
entirely with the Windows API using no OLE
whatsoever.
Appears
File in chapter: Description
----------------------------------------------------------
cosmo.cpp 1 Frame window handling for cosmo.
Also receives the IOleInPlaceFrame
code in Chapter 23.
cosmo.h 1 Main header file
Directory Description
--------------------------------------
CHAP05\COCOSMO First manifestration of Component Cosmo
in the chapter where Polyline is first made
a COM component. Communication between
CoCosmo and Polyline happens through a
custom interface as well as connection points.
Appears
File in chapter: Description
----------------------------------------------------------
cocosmo.cpp 5 Frame object code
cocosmo.h 5 Main application header file
iadvsink.cpp 10 Implementation of a simple object
with IAdviseSink to receive data
change notifications from the Polyline.
Directory Description
--------------------------------------
CHAP05\POLYLINE First manifestation of Polyline which implements
a custom interface IPolyline5, as well as
connection point support for its own notification
set, IPolylineAdviseSink5.
Appears
File in chapter: Description
----------------------------------------------------------
dllpoly.cpp 5 LibMain[32] and initialization code.
iconnpt.cpp 5 Connection point support
ipolylin.cpp 5 Implementation of custom IPolyline*
interfaces
polyline.cpp 5 Core of object code
polyline.h 5 Main header file
polywin.cpp 5 Window procedure for the Polyline
editing window
iperstmi.cpp 8 Implementation of IPersistStreamInit
iperstor.cpp 8 Implementation of IPersistStorage
idataobj.cpp 10 Implementation of IDataObject
irunobj.cpp 19 Implementation of IRunnableObject
iviewobj.cpp 19 Implementation of IViewObject2
ioleobj.cpp 19 Implementation of IOleObject
iextconn.cpp 21 Implementation of IExternalConnection
iipaobj.cpp 23 Implementation of IOleInPlaceActiveObject
iipobj.cpp 23 Implementation of IOleInPlaceObject
control.cpp 24 Code related to being an OLE Control,
including IOleControl and IDispatch
interfaces.
ipoly.h 24 MKTYPLIB-generated header for interfaces
needed for being an OLE Control, including
Polyline's event set.
polyline.odl 24 ODL script for all interfaces including the
event set.
Directory Description
--------------------------------------
CHAP01\PATRON Skeletal version of Patron that does almost
nothing useful whatsoever.
Specific descriptions of many source files are not given for the
simple samples, as those are described in the book text in detail.
CHAPTER 1 DIRECTORIES
Sample Description
-----------------------------------------
COSMO See above
PATRON See above
CHAPTER 2 DIRECTORIES
Sample Description
-----------------------------------------
ENUMRECT Demonstration of enumerator objects
MALLOC1 C program demonstrating OLE's memory allocation service
MALLOC2 C++ program demonstrating OLE's memory allocation service
QUERY Demonstration of the implementation of IUnknown and
three techniques for implementing multiple interfaces.
REUSE Demonstraton of object reusability through
containment and aggregation.
CHAPTER 3 DIRECTORIES
Has no samples
CHAPTER 4 DIRECTORIES
Sample Description
-----------------------------------------
CONNECT Demonstration of connection points
CHAPTER 5 DIRECTORIES
Sample Description
-----------------------------------------
COCOSMO See above
POLYLINE See above
DKOALA1 Demonstration of a simple in-process component
DKOALA2 Demonstration of a simple in-process component
that supports self-registration
DKOALA3 Demonstration of a simple in-process component
that supports licensing
EKOALA1 Demonstration of a simple out-of-process component
EKOALA2 Demonstration of a simple out-of-process component
that supports self-registration
CHAPTER 6 DIRECTORIES
Sample Description
-----------------------------------------
EKOALA3 Simple out-of-process component that demonstrates
message handling.
EKOALA4 Simple component that implements two custom
interfaces, IAnimal and IKoala, using standard
marshaling.
CHAPTER 7 DIRECTORIES
Sample Description
-----------------------------------------
COSMO See above
FRAGMENT Demonstration of the built-in defragmentation
capabilities of Compound Files.
PATRON See above
CHAPTER 8 DIRECTORIES
Sample Description
-----------------------------------------
COCOSMO See above
POLYLINE See above
CHAPTER 9 DIRECTORIES
Sample Description
-----------------------------------------
IDESCRIP Standard marshaling interface for IDescription
LINKSRC A source for linked data that demonstrates
complex moniker binding, using IDescription to
communicate with LinkUser.
LINKUSER A client for LinkSource that binds monikers to
an IDescription interface and displays text.
CHAPTER 10 DIRECTORIES
Sample Description
-----------------------------------------
COCOSMO See above
POLYLINE See above
CHAPTER 11 DIRECTORIES
Sample Description
-----------------------------------------
FREELOAD Demonstration of using OLE's Data Cache to display,
store, and retrieve bitmaps and metafiles.
CHAPTER 12 DIRECTORIES
Sample Description
-----------------------------------------
COSMO See above
COCOSMO See above
CHAPTER 13 DIRECTORIES
Sample Description
-----------------------------------------
COSMO See above
COCOSMO See above
PATRON See above
CHAPTER 14 DIRECTORIES
Sample Description
-----------------------------------------
BEEPER1 Variation I on a simple automation object
BEEPTEST
DISPTEST DispTest/VB3 test script for Beeper objects
NEWVB Same test script for later versios of VB
CHAPTER 15 DIRECTORIES
Sample Description
-----------------------------------------
AUTOCLI OLE Automation controller for the Beeper objects
of Chapter 14.
CHAPTER 16 DIRECTORIES
Sample Description
-----------------------------------------
AUTOCLI2 OLE Automation controller for Beeper6 that will
display property pages and implements
IPropertyNotifySink.
BEEPER6 A Beeper object that supports a property page
(BEEPPROP) and IPropertyNotifySink as an outgoing
interface.
CHAPTER 17 DIRECTORIES
Sample Description
-----------------------------------------
PATRON See above
CHAPTER 18 DIRECTORIES
Sample Description
-----------------------------------------
COSMO See above
COSMO1.0 OLE 1.0 version of Cosmo for demonstration of
conversion and emulation.
CHAPTER 19 DIRECTORIES
Sample Description
-----------------------------------------
COCOSMO Contains a README.TXT
HCOSMO An in-process handler for Chapter 18's Cosmo.
POLYLINE See above
CHAPTER 20 DIRECTORIES
Sample Description
-----------------------------------------
LNKASSIS Helper component for a container's dealings with
the Links dialog
PATRON See above
CHAPTER 21 DIRECTORIES
Sample Description
-----------------------------------------
COSMO See above
COCOSMO Contains a README.TXT
POLYLINE See above
PATRON See above
CHAPTER 22 DIRECTORIES
Sample Description
-----------------------------------------
PATRON See above
CHAPTER 23 DIRECTORIES
Sample Description
-----------------------------------------
COCOSMO Contains a README.TXT
POLYLINE See above
COSMO See above
CHAPTER 24 DIRECTORIES
Sample Description
-----------------------------------------
COCOSMO Contains a README.TXT
PATRON See above
POLYLINE See above
POLYPROP Property page implementation for Polyline
CHAPTER 25 DIRECTORIES
Has no samples
CLASSLIB DIRECTORY
File Description
-----------------------------------------
about.dlg Default dialog template for About box
app.ico Defaul program icon
cclient.cpp Client are object base class implementation
cdocumnt.cpp Document object base class implementation
cframe.cpp Frame object base class implementation
chatch.cpp Hatch window class used for in-place activation
samples.
chourgls.cpp CHourglass class to control the hourglass cursor.
classlib.h Library header file.
classlib.rc Default resources
classres.h Resource identifiers
cstatlin.cpp Framework wrapper for the status line control
in INOLE.DLL (see below)
cstrtabl.cpp String table class for managing resource strings.
ctoolbar.cpp Framework wrapper for the toolbar control
in INOLE.DLL (see below)
cwindow.cpp Base window class for other classes
document.ico Default document icon
docwin.cpp Document window procedure
framewin.cpp Frame window procedure
stdgz120.bmp Default 120dpi toolbar images
stdgz72.bmp Default 72dpi toolbar images
stdgz96.bmp Default 96dpi toolbar images
SKEL DIRECTORY
INC DIRECTORY
File Description
--------------------------------------------
book1632.h Macros to hide 16/32 bit differences
bookguid.h Definition of GUIDs used in chapter samples
bttncur.h Used by INOLE.H
classlib.h Definition of CLASSLIB classes
classres.h Default resource identifiers for CLASSLIB samples
dbgout.h Debugging output macros
gizmobar.h Used by INOLE.H
ianim16.h 16-bit header for IAnimal interface used by
Chapter 6 samples
ianimal.h 32-bit header for IAnimal interface used by
Chapter 6 samples
idescrip.h 32-bit header for IDescription interface used
by Chapter 9 samples
ikoala.h 16-bit header for IKoala interface used by
Chapter 6 samples
ikoala16.h 32-bit header for IKoala interface used by
Chapter 6 samples
inole.h Header file used by nearly all samples that
includes book1632.h, bookguid.h, classlib.h
and classres.h (on demand), windows.h, ole2.h
(and others, on demand), and oledlh.h or ole2ui.h
(on demand).
ipoly5.h Definition of IPolyline5 interface for Chapter 5
ipoly8.h Definition of IPolyline8 interface for Chapter 8
ipoly10.h Definition of IPolyline10 interface for Chapter 10
as well as Chapters 12, 13, 19, 21, 23, and 24.
stastrip.h Used by INOLE.H
INOLE DIRECTORY
File Description
--------------------------------------------
ansi.cpp ANSI to Unicode wrappers for OLE APIs
bttncur.c Code for handling toolbar images
bttncuri.h Internal header for bttncur.c
cursors.c Code for handling extra cursors
gizmo.c Code for handling a toolbar
gizmoapi.c Code for handling a toolbar
gizmobar.c Code for handling a toolbar
gizmoint.h Internal header for gizmo*.*
helpers.cpp Miscellaneous helper functions for the samples
inole.cpp LibMain[32] and library initialization
inole.rc Library resources
inoledll.h Internal header for INOLE.DLL
stastrip.c Code for handling a status line control
statint.h Internal header for the status line
uieffect.cpp Functions for generating UI effects
such as shading and hatching.
xform.cpp Functions to transforms between HIMETRIC and other
coordinate systems.
RES DIRECTORY
Contains standard cursor and toolbar bitmap resources
for the INOLE library.
INTERFAC DIRECTORY
Files Interface
---------------------------------------------
iadvsink.* IAdviseSink
iadvsnk2.* IAdviseSink2
iclassf.* IClassFactory
iclassf2.* IClassFactory2
iclisite.* IOleClientSite
iconnpt.* IConnectionPoint
iconnptc.* IConnectionPointContainer
iconsite.* IOleControlSite
icontrol.* IOleControl
idataobj.* IDataObject
idispat.* IDispatch
idropsrc.* IDropSource
idroptgt.* IDropTarget
ienumcon.* IEnumConnections
ienumcp.* IEnumConnectionPoints
ienumfe.* IEnumFORMATETC
ienumstr.* IEnumString
ienumunk.* IEnumUnknown
ienumvrb.* IEnumOLEVERB
iextconn.* IExternalConnection
iipaobj.* IOleInPlaceActiveObject
iipframe.* IOleInPlaceFrame
iipobj.* IOleInPlaceObject
iipsite.* IOleInPlaceSite
iipuiwin.* IOleInPlaceUIWindow
ilockbyt.* ILockBytes
imalloc.* IMalloc
imarshal.* IMarshal
imoniker.* IMoniker
imsgfilt.* IMessageFilter
iolecont.* IOleContainer
ioleobj.* IOleObject
iparsedn.* IParseDisplayName
iperfile.* IPersistFile
iperpbro.* IPerPropertyBrowsing
iperstmi.* IPersistStreamInit
iperstor.* IPersistStorage
iperstrm.* IPersistStream
iproppg.* IPropertyPage
iproppg2.* IPropertyPage2
iproppsi.* IPropertyPageSite
iprovinf.* IProvideClassInfo
irunobj.* IRunnableObject
isimpsit.* ISimpleFrameSite
isppropp.* ISpecifyPropertyPages
iunknown.* IUnknown
iviewob2.* IViewObject2
iviewobj.* IViewObject
LIB DIRECTORY
File Description
--------------------------------------------
classmdi.lib Compilation of CLASSLIB for MDI