原文出處:
cocreateinstance(....)
這段話的意思就是先得到類廠物件,再通過類廠建立元件從而得到iunknown指標。繼續深入一步,看看cogetclassobject的內部偽碼:
[cpp]view plain
copy
print?
cogetclassobject(.....)
/// dllgetclassobject是幹什麼的,它是用來獲得類廠物件的。只有先得到類廠才能去建立元件.
/// 下面是dllgetclassobject的偽碼:
dllgetclassobject(...)
/// cogetclassobject的流程已經到此為止,現在返回cocreateinstance,看看createinstance的偽碼:
這部分我們將構造乙個建立com元件的最小框架結構,然後看一看其內部處理流程是怎樣的
[cpp]view plain
copy
print?
iunknown *punk=null;
iobject *pobject=null;
coinitialize(null);
cocreateinstance(clsid_object, clsctx_inproc_server, null, iid_iunknown, (void
**)&punk);
punk->queryinte***ce(iid_iojbect, (void
**)&pobject);
punk->release();
pobject->func();
pobject->release();
couninitialize();
[cpp]view plain
copy
print?
cocreateinstance(....)
這就是乙個典型的建立com元件的框架,不過我的興趣在cocreateinstance身上,讓我們來看看它內部做了一些什麼事情。以下是它內部實現的乙個偽**:
[cpp]view plain
copy
print?
cogetclassobject(.....)
dllgetclassobject是幹什麼的,它是用來獲得類廠物件的。只有先得到類廠才能去建立元件.
下面是dllgetclassobject的偽碼:
dllgetclassobject(...)
cogetclassobject的流程已經到此為止,現在返回cocreateinstance,看看createinstance的偽碼:
cfactory::createinstance(.....)
這段話的意思就是先得到類廠物件,再通過類廠建立元件從而得到iunknown指標。繼續深入一步,看看cogetclassobject的內部偽碼:
CoCreateInstance具體內部實現
cpp view plain copy print?cocreateinstance cocreateinstance 這段話的意思就是先得到類廠物件,再通過類廠建立元件從而得到iunknown指標。繼續深入一步,看看cogetclassobject的內部偽碼 cpp view plain copy...
CoCreateInstance具體內部實現
cocreateinstance 這段話的意思就是先得到類廠物件,再通過類廠建立元件從而得到iunknown指標。繼續深入一步,看看cogetclassobject的內部偽碼 cogetclassobject dllgetclassobject是幹什麼的,它是用來獲得類廠物件的。只有先得到類廠才能去...
CoCreateInstance具體內部實現
cpp view plain copy print?cocreateinstance cocreateinstance 這段話的意思就是先得到類廠物件,再通過類廠建立元件從而得到iunknown指標。繼續深入一步,看看cogetclassobject的內部偽碼 cpp view plain copy...