游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2663|回复: 3

请问CoInitialize()到底做了些什么

[复制链接]

66

主题

223

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
发表于 2007-7-15 23:06:00 | 显示全部楼层 |阅读模式
不要告诉我初始化COM系统

有详细点的不?

66

主题

223

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2007-7-16 23:14:00 | 显示全部楼层

Re:请问CoInitialize()到底做了些什么

anybody ?

6

主题

99

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2007-7-17 09:06:00 | 显示全部楼层

Re:请问CoInitialize()到底做了些什么

我以前也问过这样的问题,结果也没人回答。
道相似,果相近啊。
我查找资料(《COM精髓》)、看MSDN,认为如下:
调用 CoInitialize() 等同于 CoInitializeEx(NULL,COINIT_APARTMENTTHREADED),即COM作为单线程COM使用。
COM还可以作为多线程COM使用,用 CoInitializeEx(NULL,COINIT_MULTITHREADED)。
这好像涉及到 COM 和客户(即使用COM的程序)之间的数据传递问题,到底使不使用代理、占位工作方式等问题。
单线程COM和客户处于同一线程单元中,数据直接交换。
多线程就要代理、占位(proxy、stub)……
……
我也不是很明白。
不过如果人性化点考虑,微软为了我们创建 COM 的方式不随线程而改变,这样做也很合理。
……
呵呵,不要灰心,还是有人回帖的!!*o*

66

主题

223

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2007-7-17 12:10:00 | 显示全部楼层

Re:请问CoInitialize()到底做了些什么

感谢自由蜂同学!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 19:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表