COM提供的服务组件对象在实现时有两种进程模型:进程内对象和进程外对象。
进程内服务程序:服务程序被加载到客户的进程空间,在Windows环境下,通常服务程序的代码是以动态链接库(dll)的形式存在。
本地服务程序:服务程序与客户程序运行在同一台机器上,服务程序是一个独立的程序,通常它是一个EXE文件。
远程服务程序:服务程序运行在一个与客户不同的机器上,他既可以是一个DLL模块也可以是一个EXE程序,如果远程程序是以DLL形式存在的话,则远程程序会创建一个代理进程。
GUID可用C++的结构描述:
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[4]
}GUID;
extern "C" const GUID CLSID_MYSPELLER =
{0x54bf6567, 0x1007,0x11d1,{0xb0,0xaa,0x44,0x45,0x53,0x54,0x00,0x00}};
COM对象的数据成员的封装以组件模块为最终边界,对于对象用户是完全透明的,不可见的;而C++对象的封装特性只是语意上的封装,对于对象用户是可见的。
COM对象的可重用性表现在COM对象的包容和聚合,C++对象的可重用性表现在类的继承。
从技术上讲,接口是包含了一组函数的数据结构。

被折叠的 条评论
为什么被折叠?



