标准列集和自定义列集-Read.ppt

标准列集和自定义列集-Read.ppt

八. COM跨进程特性;1.进程外组件;进程外COM组件的实现以exe的形式存在.可以独立执行. 它 不会引出函数DllRegisterServer 和DllUnregisterServer. 相反,它执行时会检测命令行中是否有参数/ RegServer或/UnregServer, 以决定是否对注册表进行注册(注销). 注册表中它所支持的COM对象项中用LocalServer32键代替InprocServer32键. 进程外组件没有输出DllGetClassObject以让客户程序得到类厂对象,相反当客户调用CoGetClassObject创建类厂对象时: 在CoGetClassObject函数内部,它找到EXE组件的程序位置后,发现是一个进程外组件, 于是启动组件进程,然后等待... 组件进程启动后(使用了/Embedding参数),调用CoInitialize初始化,创建所有的类厂,调用CoRegisterClassObject把类厂注册到COM中. 客户进程得到了组件的类厂信息,创建类厂,然后创建对象…. 组件程序没有引出DllCanUnloadNow函数. 但是其判断是否可以卸载的条件与之相类似. 组件进程退出时,使用CoRevokeClassObject函数在COM库中注销掉其所支持的类厂. CoRegisterClassObject与 CoRevokeClassObj

文档评论(0)

1亿VIP精品文档

相关文档