CAtlComModule 类

此类实现 COM 服务器模块。

语法

class CAtlComModule : public _ATL_COM_MODULE

成员

公共构造函数

名称 描述
CAtlComModule::CAtlComModule 构造函数。
CAtlComModule::~CAtlComModule 析构函数。

公共方法

名称 描述
CAtlComModule::RegisterServer 调用此方法来更新对象映射中每个对象的系统注册表。
CAtlComModule::RegisterTypeLib 调用此方法注册类型库。
CAtlComModule::UnregisterServer 调用此方法以取消注册对象映射中的每个对象。
CAtlComModule::UnRegisterTypeLib 调用此方法取消注册类型库。

注解

CAtlComModule 实现一个 COM 服务器模块,允许客户端访问模块的组件。

此类替换在早期版本的 ATL 中使用的过时 CComModule 类。 有关详细信息,请参阅 ATL 模块类

继承层次结构

_ATL_COM_MODULE

CAtlComModule

要求

标头:atlbase.h

CAtlComModule::CAtlComModule

构造函数。

CAtlComModule() throw();

注解

初始化模块。

CAtlComModule::~CAtlComModule

析构函数。

~CAtlComModule();

备注

释放所有类工厂。

CAtlComModule::RegisterServer

调用此方法来更新对象映射中每个对象的系统注册表。

HRESULT RegisterServer(BOOL bRegTypeLib = FALSE, const CLSID* pCLSID = NULL);

参数

bRegTypeLib
如果要注册类型库,则为 TRUE。 默认值是 FALSE。

pCLSID
指向要注册的对象的 CLSID 的指针。 如果为 NULL(默认值),则注册对象映射中的所有对象。

返回值

如果成功,则返回 S_OK;否则返回错误 HRESULT。

注解

调用全局函数 AtlComModuleRegisterServer

CAtlComModule::RegisterTypeLib

调用此方法注册类型库。

HRESULT RegisterTypeLib(LPCTSTR lpszIndex);
HRESULT RegisterTypeLib();

参数

lpszIndex
格式为“\\N”的字符串,其中 N 是 TYPELIB 资源的整数索引。

返回值

如果成功,则返回 S_OK;否则返回错误 HRESULT。

注解

将有关类型库的信息添加到系统注册表。 如果模块实例包含多个类型库,请使用此方法的第一个版本来指定应使用哪个类型库。

CAtlComModule::UnregisterServer

调用此方法以取消注册对象映射中的每个对象。

HRESULT UnregisterServer(
    BOOL bRegTypeLib = FALSE,
    const CLSID* pCLSID = NULL);

参数

bRegTypeLib
如果要取消注册类型库,则为 TRUE。 默认值是 FALSE。

pCLSID
指向要取消注册的对象的 CLSID。 如果为 NULL(默认值),则取消注册对象映射中的所有对象。

返回值

如果成功,则返回 S_OK;否则返回错误 HRESULT。

注解

调用全局函数 AtlComModuleUnregisterServer

CAtlComModule::UnRegisterTypeLib

调用此方法取消注册类型库。

HRESULT UnRegisterTypeLib(LPCTSTR lpszIndex);
HRESULT UnRegisterTypeLib();

参数

lpszIndex
格式为“\\N”的字符串,其中 N 是 TYPELIB 资源的整数索引。

备注

从系统注册表中删除有关类型库的信息。 如果模块实例包含多个类型库,请使用此方法的第一个版本来指定应使用哪个类型库。

返回值

如果成功,则返回 S_OK;否则返回错误 HRESULT。

另请参阅

_ATL_COM_MODULE
类概述