1. 客戶程序首先調用CoCreatInstance,CoCreateInstanceEx,或者CoGetClassObject,實際上前兩個函數都是經過包裝過的輔助函數,其內部都是通過調用CoGetClassObject實現的。
2. CoGetClassObject函數中根據CLSID參數,查找註冊表,找到組件所在的DLL文件。
3. CoGetClassObject調用DLL中的DllGetClassObject導出函數。
4. DllGetClassObject函數根據CLSID參數,創建對應的類廠,獲取IClassFactory指針。
5. DllGetClassObject調用IClassFactory::CreateInstance()函數創建組件對象。
6. 通過類型轉換,獲取IID參數所指的接口指針。