gusucode.com > COM组件设计与应用(十八)——属性包C++源码程序 > COM组件设计与应用(十八)——属性包/comtut18src/ComP18.net/Simple18/Simple18.cpp
// Simple18.cpp : DLL 导出的实现。 #include "stdafx.h" #include "resource.h" #include "Simple18.h" class CSimple18Module : public CAtlDllModuleT< CSimple18Module > { public : DECLARE_LIBID(LIBID_Simple18Lib) DECLARE_REGISTRY_APPID_RESOURCEID(IDR_SIMPLE18, "{43CD7036-9DC6-409B-B71A-8C106559EBE6}") }; CSimple18Module _AtlModule; // DLL 入口点 extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) { hInstance; return _AtlModule.DllMain(dwReason, lpReserved); } // 用于确定 DLL 是否可由 OLE 卸载 STDAPI DllCanUnloadNow(void) { return _AtlModule.DllCanUnloadNow(); } // 返回一个类工厂以创建所请求类型的对象 STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { return _AtlModule.DllGetClassObject(rclsid, riid, ppv); } // DllRegisterServer - 将项添加到系统注册表 STDAPI DllRegisterServer(void) { // 注册对象、类型库和类型库中的所有接口 HRESULT hr = _AtlModule.DllRegisterServer(); return hr; } // DllUnregisterServer - 将项从系统注册表中移除 STDAPI DllUnregisterServer(void) { HRESULT hr = _AtlModule.DllUnregisterServer(); return hr; }