com
q563717212
这个作者很懒,什么都没留下…
展开
-
GUID 全局唯一标识符
工具: GUIDGen.exe COM库函数: HRESULT CoCreateGuid(GUID *pguid);原创 2015-11-17 12:49:35 · 375 阅读 · 0 评论 -
com 注册表信息
com 组件注册表信息 HEY_CLASSES_ROOT CLSID(对象ID) INTERFACE(接口ID) TYPEID Component Categories (接口类别ID) “程序ID” COM提供两个API函数用来CLSID和ProgID转换: CLSIDFromProgID('') ProgIDFromCLSID()原创 2015-11-17 14:10:03 · 594 阅读 · 0 评论 -
com库内存管理
com库提供两种内存管理器:一种本进程的作业分配器,另一种跨进程的共享分配器。 利用COM库提供的CoGetMalloc(...)函数获取com库内存管理器,参数MEMCTX_TASK/MEMCTX_SHARED,对应本进程的作业分配器和跨进程的共享分配器。 提供本进程的三个COM库封装了3个API函数:用于本进程内存管理 CoTaskMemAlloc() CoTaskMemFree()原创 2015-11-18 09:14:55 · 396 阅读 · 0 评论 -
com对象的创建过程
COM对象的创建过程: 1:调用COM库创建函数,COM库创建函数根据函数参数对象标识符,在注册表中找到相关信息,启动组件或将组件装进内存。 2:创建函数调用组件提供的入口函数DllGetClassObject(...),创建com对象的类厂对象。 2:调用类厂对象的接口成员函数CreateInstance,创建对象原创 2015-11-17 15:45:17 · 395 阅读 · 0 评论 -
进程内组件编写需要手动添加的函数
进程内组件编写需要手动添加的函数:组件注册函数、组件注销函数、类厂对象创建函数、组件生存与否函数 extern "C" HRESULT __stdcall DllGetClassObject(const CLSID& clsid, const IID& iid, void **ppv) { if (clsid == CLSID_Dictionary ) { CDictionaryFac原创 2015-11-18 13:32:32 · 229 阅读 · 0 评论 -
进程内组件注册表注册
头文件: #ifndef __Registry_H__ #define __Registry_H__ // // Registry.h // - Helper functions registering and unregistering a component. // // - These helper functions were borrowed and modifed原创 2015-11-18 13:26:46 · 302 阅读 · 0 评论