2010-09-04 70 views
0

我正在尋找一些COM,.NET互操作性主題,我遇到了一些遺留COM使用C++的例子,四捨五入它,我明白,你定義每個接口和coclass裏面和idl (接口定義文件),所以其他com知道的語言可以理解類型信息,但唯一沒有在idl文件中定義的com類是從IClassFactory派生的com類,有人可以告訴爲什麼,因爲其他.NET語言也需要獲得類工廠爲了直觀其他com類,那麼他們如何才能理解類型信息?COM類工廠

回答

0

類工廠很少直接使用。事實上,如果您需要首先創建一個類工廠來創建任何COM對象,那麼您將如何創建類工廠本身?

COM庫負責創建對象。例如,如果COM服務器是DLL,則需要導出DllGetClassObject函數。當客戶想要創建一個COM對象時,它會調用CoCreateInstance指定一個CLSID。使用CLSID,COM​​庫查找服務器和(如果它是DLL)加載它並調用它的DllGetClassObject

這只是關於該主題的兩個字。 COM是一個非常大的話題;如果您想完全瞭解您可能必須從very beginning開始......