Сущность технологии СОМ. Библиотека программиста
Сущность технологии СОМ. Библиотека программиста читать книгу онлайн
В этой книге СОМ исследуется с точки зрения разработчика C++. Написанная ведущим специалистом по модели компонентных объектов СОМ, она раскрывает сущность СОМ, помогая разработчикам правильно понять не только методы модели программирования СОМ, но и ее основу. Понимание мотивов создания СОМ и ее аспектов, касающихся распределенных систем, чрезвычайно важно для тех разработчиков, которые желают пойти дальше простейших приложений СОМ и стать по-настоящему эффективными СОМ-программистами. Показывая, почему СОМ для распределенных систем (Distributed СОМ) работает именно так, а не иначе, Дон Бокс дает вам возможность применять эту модель творчески и эффективно для ежедневных задач программирования.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
CoRevokeClassObject(dwReg);
}
g_pacUsers->Release();
g_pacAdmins->Release();
}
if (FAILED(hr))
MessageBox(0, pszPrompt, __TEXT(«Error»),
MB_SETFOREGROUND);
CoUninitialize();
return 0;
}
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