COM库的初始化CoInitialize
2022-02-08
323
0
调用COM库函数之前,必须调用COM库的初始化函数:HRESULT CoInitialize(IMalloc *pMalloc);
HRESULT CoInitialize(
[in, optional]IMalloc *pMalloc
);
pMalloc用于指定一个内存分配器,可由应用程序指定内存分配。一般情况下,直接把参数设为NULL,则COM库将使用缺省提供的内存分配器。返回值:S_OK表示初始化成功;S_FALSE表示初始化成功,但不是本进程中首次调用。
通常,一个进程对COM库只进行一次初始化,且在同一个模块单元中对COM库进行多次初始化并没有意义。
唯一不需要初始化COM库的函数是获取COM库版本的函数:DWORD CoBuildVersion();
返回值:高16位=主版本号;低16位=次版本号。
COM程序在用完COM库服务之后,通常是在程序退出之前,一定要调用终止COM库服务函数,以便释放COM库所维护的资源:
void CoUninitialize(void);