複製鏈接
請複製以下鏈接發送給好友

CoGetClassObject

鎖定
CoGetClassObject,計算機語言,指的是創建了一個被稱作是類廠的組件。
中文名
CoGetClassObject
實    質
類廠的組件
標準接口
是IClassFactory
內    容
創建了一個被稱作是類廠的組件
相    似
CoCreatInstance

目錄

CoGetClassObject簡介

CoCreateInstance實際上並沒有直接創建COM組件 ,而是創建了一個被稱作是類廠的組件。而所需的組件正是由些類廠創建的。類廠組件的唯一功能就創建其他的組件。創建組件的標準接口是IClassFactory,用CoCreateInstnce創建的組件實際上是通過IClassFactory創建的。
類廠只是創建其它組件的一個簡單組件。
區別1:CoGetClassObject同CoCreatInstance是非常相似的。只一個參數不同,CoCreatInstance將接收一個Iunknown指針,而CoGetClassObject則將接收一個COSERVERINFO指針。
區別2:CoGetClassObject返回的是指向類廠中某個接口的指針(客户可以用這個指針來創建所需的組件),而CoCreateInstance返回的則是指向組件中某個接口的指針。
為了創建同某個CLSID相應的類廠,需要一個與CoCreateInstance等價的,也可以接收一個CLSID作為參數並返回相應類廠中某個接口指針的函數。這個函數就是COM庫中的CoGetClassObject。
類廠所支持的用於創建組件的標準接口是IClassFactory。大多數組件均可使用IClassFactory接口來創建。

CoGetClassObject聲明

CoGetClassObject:
STDAPI CoGetClassObject(REFCLSID rclsid,DWORD dwClsContext,COSERVERINFO * pServerInfo,REFIID riid,LPVOID * ppv);