Сущность технологии СОМ. Библиотека программиста - Страница 118

Изменить размер шрифта:

CoRevokeClassObject(dwReg);

}

g_pacUsers->Release();

g_pacAdmins->Release();

}

if (FAILED(hr))

MessageBox(0, pszPrompt, __TEXT(«Error»),

MB_SETFOREGROUND);

CoUninitialize();

return 0;

}

More Book Stuff

Source Code

COM Chat Compilable versions of the source code in Appendix B of the book. 

YACL Yet another COM library. Contains the various macros and C++ classes described in the book. 

IGlobalInterfaceTable Wrapper/Sample A simplification of apartment-independent pointer use. 

HostHook A custom channel hook that allows you to find out the caller's and callee's network address.

APTSUR A custom surrogate that spawns distinct STA threads for each activation request. 

Custom Moniker Stuff I worked with some friends on a custom moniker framework. Here is some of the 1st bits and pieces.

Yet Another COM Library (YACL) – Preview

This is my first drop. It contains a family of preprocessor macros that automate the boilerplate activities used in COM programming.

Please send comments and bug reports to [email protected]

The freshest drop is always available at http://www.develop.com/dbox/yacl.zip

Design Goals (in Order)

Easily used without Wizard support

Easily kept in one's head

Modular (use only what you need and nothing else)

Extensible

Small Code

Fast Code

No DLL ever

Compiler-friendly

Platform-neutral where possible (including 16-bit Windows)

Current Feature Set

Anal-rententive Smart Pointer

Efficient and intuitive Unicode handling

Table-driven QueryInterface

Table-driven Registration

Table-driven Class management

Generic Class Factory implementation.

Preprocessor macros for de facto IUnknown implementation techniques.

Preprocessor macros for de facto module management routines.

Preprocessor macros for de facto DllXXX routines.

Preprocessor macros for de facto out-of-proc CRCO/Wait/CRCO sequence.

Planned Work

Performance/size tuning

Compiler/Platform testing

Verify ATL/MFC interoperation

Macro-ization of smart pointer for 16-bit windows

Add optional exception semantics to smart pointer

Map COM hresults/exception to C++ exceptions

Add support for IDispatch and friends

Add support for IConnectionPoint and friends

Add IEnum -> stl thunks

Оригинальный текст книги читать онлайн бесплатно в онлайн-библиотеке Knigger.com