Essential COMAddison-Wesley Professional, 1998 - 440 ページ Written by a leading COM authority, this unique book reveals the essence of COM, helping developers to truly understand the why, not just the how, of COM. Understanding the motivation for the design of COM and its distributed aspects is critical for developers who wish to go beyond simplistic applications of COM and become truly effective COM programmers. As the COM programming model continues to evolve, such insight also becomes essential to remaining current with extensions, such as Microsoft Transaction Server and COM+. By showing you why Distributed COM works as it does, Don Box enables you to apply the model creatively and effectively to everyday programming problems. |
目次
COM as a Better C++ | 1 |
Software Distribution and C++ | 2 |
Dynamic Linking and C++ | 5 |
C++ and Portability | 6 |
Encapsulation and C++ | 7 |
Separating Interface from Implementation | 11 |
Abstract Bases as Binary Interfaces | 14 |
Runtime Polymorphism | 21 |
Querylnterface Is Symmetric | 157 |
Querylnterface Is Transitive | 159 |
Querylnterface Is Reflexive | 160 |
Objects Have Static Type | 163 |
Querylnterface and IUnknown | 165 |
Multiple Interfaces and Method Names | 169 |
Dynamic Composition | 179 |
Binary Composition | 185 |
Object Extensibility | 23 |
Resource Management | 31 |
Where Are We? | 34 |
Interfaces | 37 |
IDL | 39 |
Methods and Results | 41 |
Interfaces and IDL | 44 |
IUnknown | 48 |
Resource Management and IUnknown | 53 |
Type Coercion and IUnknown | 57 |
Implementing IUnknown | 61 |
Using COM Interface Pointers | 66 |
Optimizing QueryInterface | 69 |
Data Types | 73 |
Attributes and Properties | 87 |
Exceptions | 88 |
Where Are We? | 94 |
Classes | 95 |
Class Objects | 97 |
Activation | 100 |
Using the SCM | 103 |
Classes and Servers | 107 |
Generalizations | 115 |
Optimizations | 118 |
Interface and Implementation Again | 125 |
Monikers and Composition | 131 |
Monikers and Persistence | 134 |
Server Lifetime | 138 |
Classes and IDL | 141 |
Class Emulation | 145 |
Component Categories | 147 |
Where Are We? | 153 |
Objects | 155 |
Containment | 197 |
Where Are We? | 198 |
Apartments | 199 |
Objects Interfaces and Apartments | 203 |
CrossApartment Access | 206 |
InProcess Marshaling Helpers | 214 |
Standard Marshaling Architecture | 219 |
Lifecycle Management and Marshaling | 236 |
Custom Marshaling | 243 |
The Free Threaded Marshaler | 249 |
Where Are We? | 260 |
Applications | 261 |
Activation and the SCM | 262 |
Server Lifetime Revisited | 267 |
Application IDs | 274 |
COM and Security | 278 |
Programmatic Security | 287 |
Access Control | 297 |
Token Management | 304 |
Where Are We? | 311 |
Miscellanea | 313 |
Pointers and Memory | 317 |
Arrays | 326 |
Flow Control | 345 |
Dynamic versus Static Invocation | 350 |
Bidirectional Interface Contracts | 356 |
Aliasing in IDL | 370 |
Asynchronous Methods | 375 |
The Evolution of Objects | 377 |
Selected Code Fragments | 385 |
421 | |
他の版 - すべて表示
多く使われている語句
access control activation request allocated allow apartment API function AppID array assert SUCCEEDED(hr binary BOOL BSTR bytes C++ class cActual caller cElems chapter char psz class object client CLSID CoCreateInstanceEx CoGetClassObject CoInitializeSecurity CoMarshalInterface compiler const char const OLECHAR create CreateInstance data members data types define DWORD dynamic_cast exported FastString Gorilla header file HRESULT hr IApe IBoat ICar IDispatch IDog IID_IUnknown in-process interface definition interface marshaler interface pointer interface proxy interface stub IUnknown IUnknown methods ject m_cRef marshaled object reference memory method call methods STDMETHODIMP moniker NTLM null pointer ORPC request parameter programming proxy manager pwszUser QueryInterface QueryInterface request reference count REFIID riid registry return hr return S_OK runtime server process simply smart pointer STDMETHODIMP ULONG string struct stub manager tearoff technique thread typedef unmarshal virtual Visual Basic void ppv vptr vtbl Windows NT 4.0
人気のある引用
iv ページ - Essential XML: Beyond Markup, Don Box, Aaron Skonnard, and John Lam, 0201709147 Programming Windows Security, Keith Brown, 0201604426 Advanced Visual Basic 6: