1. 程式人生 > >COM元件註冊真相(轉)

COM元件註冊真相(轉)

如何註冊COM元件:由於DLL知道它所包含的元件,因此DLL可以完成這些資訊的註冊。在DLL中一定要處處如下兩個函式:DllRegisterServer();// 完成註冊元件DllUnRegisterServer();// 完成反註冊元件使用者可以使用程式REGSVR32.EXE來註冊某個元件。方法是使用命令列:regsvr32/u testDll.dll(反註冊)   regsvr32 testDll.dll(註冊)。一個典型的註冊COM元件Dll必須匯出如下五個函式:1)DllMain:Dll的入口函式,完成一些Dll的初始化工作(DirectShow實現的是DllEntryPoint);2)DllGetClassObject:用於獲得類工廠指標;
3)DllCanUnloadNow: 系統空閒時會呼叫這個函式,以確定是否可以解除安裝Dll;4)DllRegisterServer:將COM元件註冊到登錄檔中;5)DllUnregisterServer: 刪除登錄檔中COM元件的註冊資訊。
所以,要想完成註冊,關鍵就是對DllRegisterServer();DllUnRegisterServer();兩個函式的實現,下面將詳細介紹如何實現這兩個函式: