COM 7.0以后有这样一个宏DECLARE_REGISTRY_APPID_RESOURCEID
在VS03以后的版本中,ATL工程中会自动添加这样的代码
class CXXModule : public CAtlDllModuleT< CXXModule >
{
public :
DECLARE_LIBID(LIBID_xinstallerLib)
DECLARE_REGISTRY_APPID_RESOURCEID(IDR_XX, "{classid}")
};
CXXModule _AtlModule;
_CAtlDllModuleT继承自CAtlModule
看MSDN解释说AppId在DCOM中使用,主要是为了集中注册表中分散的属性值,觉得这个解释相当含糊。
那么什么时候才需要指定这个AppId呢?看到一个老外回答这个问题,不翻译了,原文看着比较好。
You need to specify an appid if one of the follow