COM/COM+ Clients: Concepts and Programming
Clients for COM and COM+ Servers
Interfaces
Classes and Objects
Globally Unique Identifiers
Servers
Registration
Instantiating an Object
Object Lifetime and Interface Negotiation
Initializing COM
COM Client Programming Model
Visual C++ Console Client
GUI Client Using MFC
Understanding COM Servers
Libraries
Servers
Location Transparency
COM Runtime Architecture
Registry
Class Factories
Loading and Unloading
Dynamic Link Libraries
Structure of an In-Process Server
Implementing In-Process Servers Using ATL
The ATL Abstraction
ATL COM AppWizard
ATL Object Wizard
Specifying Interfaces Using IDL
ATL Class Factory Support
ATL Registration Support
Multiple Interfaces
EXE Servers and Surrogates
EXE Servers
Proxies and Stubs
MIDL Compiler
Surrogates
Apartments and Threads
Interception
COM Data Types and ATL Support Classes
Strings in COM
Conversion Macros
Memory Management and IDL
BSTR and CComBSTR
Smart Pointers
VARIANT and CComVariant
Error Processing and Debugging
Error and Facility Codes
COM Error Interfaces
Tracing
A Logger Component
Breaking Into Server Code
Programming COM Clients Using Visual Basic
Coclasses
Type Libraries
Default Interface
Accessing Other Interfaces
Releasing an Interface
Visual Basic COM Client
Automation and Scripting
Early and Late Binding
IDispatch
VARIANT
Dual Interfaces
Thin Clients and VBScript
Enumerators
Collections and Object Models
Visual C++ COM Support
Using Type Libraries with Import Directive
Namespaces
Smart Pointers
Error Handling
bstr_t