diff options
author | Stef Walter <stef@thewalter.net> | 2003-09-17 19:41:13 +0000 |
---|---|---|
committer | Stef Walter <stef@thewalter.net> | 2003-09-17 19:41:13 +0000 |
commit | 79aa922282edd795d55bf06cf622ddf33884dff5 (patch) | |
tree | d3c8c985ada3bf14107410ca48fac394e42d9106 /TtfInfo.cpp |
Diffstat (limited to 'TtfInfo.cpp')
-rw-r--r-- | TtfInfo.cpp | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/TtfInfo.cpp b/TtfInfo.cpp new file mode 100644 index 0000000..e45d364 --- /dev/null +++ b/TtfInfo.cpp @@ -0,0 +1,73 @@ +// TtfInfo.cpp : Implementation of DLL Exports. + + +// Note: Proxy/Stub Information +// To build a separate proxy/stub DLL, +// run nmake -f TtfInfops.mk in the project directory. + +#include "stdafx.h" +#include "resource.h" +#include "initguid.h" +#include "TtfInfo.h" + +#include "TtfInfo_i.c" +#include "FontInfo.h" + + +CComModule _Module; + +BEGIN_OBJECT_MAP(ObjectMap) + OBJECT_ENTRY(CLSID_FontInfo, CFontInfo) +END_OBJECT_MAP() + +///////////////////////////////////////////////////////////////////////////// +// DLL Entry Point + +extern "C" +BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/) +{ + if (dwReason == DLL_PROCESS_ATTACH) + { + _Module.Init(ObjectMap, hInstance); + DisableThreadLibraryCalls(hInstance); + } + else if (dwReason == DLL_PROCESS_DETACH) + _Module.Term(); + return TRUE; // ok +} + +///////////////////////////////////////////////////////////////////////////// +// Used to determine whether the DLL can be unloaded by OLE + +STDAPI DllCanUnloadNow(void) +{ + return (_Module.GetLockCount()==0) ? S_OK : S_FALSE; +} + +///////////////////////////////////////////////////////////////////////////// +// Returns a class factory to create an object of the requested type + +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) +{ + return _Module.GetClassObject(rclsid, riid, ppv); +} + +///////////////////////////////////////////////////////////////////////////// +// DllRegisterServer - Adds entries to the system registry + +STDAPI DllRegisterServer(void) +{ + // registers object, typelib and all interfaces in typelib + return _Module.RegisterServer(TRUE); +} + +///////////////////////////////////////////////////////////////////////////// +// DllUnregisterServer - Removes entries from the system registry + +STDAPI DllUnregisterServer(void) +{ + _Module.UnregisterServer(); + return S_OK; +} + + |