[問題] Component Object Model的觀念

看板C_and_CPP作者 (改)時間12年前 (2012/01/21 23:48), 編輯推噓3(3012)
留言15則, 6人參與, 最新討論串1/1
最近在看Component Object Model(COM)中apartment的觀念 覺得很不好理解,apartment的觀念滿抽象的, 說apartment的種類是根據registry中ThreadingModel的值 有分"Apartment" "Free" "Both" "Single", 但是CoInitializeEx()帶入的值又可以選MultiThread或ApartmentThread 那到底一個COM的apartment種類是怎麼決定的?? 然後apartment又有分什麼STA(Single Thread Apartment) 和MTA(Multi Thread Apartment),以及RTA和NTA 整個觀念都混淆了...apartment到底有哪些種類?? 那如果在COM元件中用CreateThread()產生worker thread, 這跟哪種類型apartment之間又有什麼關係嗎?? out-of-proc (.exe) COM 和 in-proc (.dll) COM 的apartment觀念會有什麼不一樣嗎?? 請高手指點 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.27.60.30

01/22 01:46, , 1F
這很難...建議用 VB 實作...難度差一百倍
01/22 01:46, 1F

01/22 01:46, , 2F
我花了好幾年還是覺得抓不到COM的精神....XDDD
01/22 01:46, 2F

01/22 07:53, , 3F
CodeProject上面有文章說的滿清楚的
01/22 07:53, 3F

01/22 07:56, , 4F
Understanding The COM Single-Threaded Apartment
01/22 07:56, 4F

01/22 14:28, , 5F
研究中
01/22 14:28, 5F

01/22 14:29, , 6F
有辦法看到CoInitializeEx或CoCreateInstance實作的程
01/22 14:29, 6F

01/22 14:30, , 7F
式碼嗎? 如果有code可以看應該會比較清楚
01/22 14:30, 7F

01/22 16:16, , 8F
@james732 因為你沒有留鬍子且戴眼鏡
01/22 16:16, 8F

01/22 16:16, , 9F
01/22 16:16, 9F

01/23 01:14, , 10F
那張圖也太有趣了 XDDDDDDDDDDDDD
01/23 01:14, 10F

01/23 01:35, , 11F
什麼圖啊 = =那個連結不是一篇文章嗎
01/23 01:35, 11F

01/23 01:40, , 12F
(而且他們都 留鬍子戴眼鏡, 沒有例外.)
01/23 01:40, 12F

01/23 01:40, , 13F
上面那句話有個連結 http://ppt.cc/UAUc
01/23 01:40, 13F

01/23 01:41, , 14F
眼鏡我本來就有了,所以可以考慮留鬍子 XDDDD
01/23 01:41, 14F

01/23 02:03, , 15F
還是沒看到連結...但這不是重點xd
01/23 02:03, 15F
文章代碼(AID): #1F6jv5Xl (C_and_CPP)