OSDN Git Service

20021009版ソース
[seraphyscrtools/SeraphyScriptTools.git] / SeraphyScriptTools.cpp
1 // SeraphyScriptTools.cpp : DLL \83G\83N\83X\83|\81[\83g\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
2
3
4 // \83\81\83\82: Proxy/Stub \8fî\95ñ
5 //  \95Ê\81X\82Ì proxy/stub DLL \82ð\83r\83\8b\83h\82·\82é\82½\82ß\82É\82Í\81A\83v\83\8d\83W\83F\83N\83g\82Ì\83f\83B\83\8c\83N\83g\83\8a\82Å 
6 //      nmake -f SeraphyScriptToolsps.mak \82ð\8eÀ\8ds\82µ\82Ä\82­\82¾\82³\82¢\81B
7
8 #include "stdafx.h"
9 #include "resource.h"
10 #include <initguid.h>
11 #include "SeraphyScriptTools.h"
12
13 #include "SeraphyScriptTools_i.c"
14 #include "CommDialog.h"
15 #include "OverlappedWindow.h"
16 #include "Control.h"
17 #include "Draw.h"
18 #include "Layer.h"
19 #include "Form.h"
20 #include "instance.h"
21 #include "objectmap.h"
22 #include "shell.h"
23 #include "objectvector.h"
24 #include "profilesection.h"
25 #include "privateprofile.h"
26
27 CComModule _Module;
28
29 BEGIN_OBJECT_MAP(ObjectMap)
30 OBJECT_ENTRY(CLSID_SeraphyScriptTools_Instance, CInstance)
31 OBJECT_ENTRY(CLSID_CommDialog, CCommDialog)
32 OBJECT_ENTRY(CLSID_Canvas, CCanvas)
33 OBJECT_ENTRY(CLSID_OverlappedWindow, COverlappedWindow)
34 OBJECT_ENTRY(CLSID_ObjectMap, CObjectMap)
35 OBJECT_ENTRY(CLSID_SeraphyScriptTools_Shell, CShell)
36 OBJECT_ENTRY(CLSID_ObjectVector, CObjectVector)
37 //OBJECT_ENTRY(CLSID_Control, CControl)
38 //OBJECT_ENTRY(CLSID_Layer, CLayer)
39 //OBJECT_ENTRY(CLSID_Form, CForm)
40 //OBJECT_ENTRY(CLSID_Event, CEvent)
41 //OBJECT_ENTRY(CLSID_EnumSelect, CEnumSelect)
42 //OBJECT_ENTRY(CLSID_TreeItem, CTreeItem)
43 //OBJECT_ENTRY(CLSID_ShellExecObj, CShellExecObj)
44 //OBJECT_ENTRY(CLSID_ProfileSection, CProfileSection)
45 OBJECT_ENTRY(CLSID_ParseName, CParseName)
46 OBJECT_ENTRY(CLSID_PrivateProfile, CPrivateProfile)
47 END_OBJECT_MAP()
48
49 /////////////////////////////////////////////////////////////////////////////
50 // DLL \83G\83\93\83g\83\8a \83|\83C\83\93\83g
51
52 extern "C"
53 BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
54 {
55     if (dwReason == DLL_PROCESS_ATTACH)
56     {
57                 // \83R\83\82\83\93\83R\83\93\83g\83\8d\81[\83\8b\82Ì\83N\83\89\83X\96¼\82ð\93o\98^\82·\82é
58                 InitCommonControls();
59                 //
60         _Module.Init(ObjectMap, hInstance, &LIBID_SERAPHYSCRIPTTOOLSLib);
61         DisableThreadLibraryCalls(hInstance);
62     }
63     else if (dwReason == DLL_PROCESS_DETACH)
64         _Module.Term();
65     return TRUE;    // ok
66 }
67
68 /////////////////////////////////////////////////////////////////////////////
69 // DLL \82ª OLE \82É\82æ\82Á\82Ä\83A\83\93\83\8d\81[\83h\89Â\94\\82©\82Ç\82¤\82©\82ð\92²\82×\82é\82½\82ß\82É\8eg\97p\82³\82ê\82Ü\82·
70
71 STDAPI DllCanUnloadNow(void)
72 {
73     return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
74 }
75
76 /////////////////////////////////////////////////////////////////////////////
77 // \97v\8b\81\82³\82ê\82½\8c^\82Ì\83I\83u\83W\83F\83N\83g\82ð\8dì\90¬\82·\82é\82½\82ß\82É\83N\83\89\83\83t\83@\83N\83g\83\8a\82ð\95Ô\82µ\82Ü\82·
78
79 STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
80 {
81     return _Module.GetClassObject(rclsid, riid, ppv);
82 }
83
84 /////////////////////////////////////////////////////////////////////////////
85 // DllRegisterServer - \83V\83X\83e\83\80 \83\8c\83W\83X\83g\83\8a\82Ö\83G\83\93\83g\83\8a\82ð\92Ç\89Á\82µ\82Ü\82·
86
87 STDAPI DllRegisterServer(void)
88 {
89     // \83I\83u\83W\83F\83N\83g\81A\83^\83C\83v\83\89\83C\83u\83\89\83\8a\82¨\82æ\82Ñ\83^\83C\83v\83\89\83C\83u\83\89\83\8a\93à\82Ì\91S\82Ä\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X\82ð\93o\98^\82µ\82Ü\82·
90     return _Module.RegisterServer(TRUE);
91 }
92
93 /////////////////////////////////////////////////////////////////////////////
94 // DllUnregisterServer - \83V\83X\83e\83\80 \83\8c\83W\83X\83g\83\8a\82©\82ç\83G\83\93\83g\83\8a\82ð\8dí\8f\9c\82µ\82Ü\82·
95
96 STDAPI DllUnregisterServer(void)
97 {
98     return _Module.UnregisterServer(TRUE);
99 }
100
101
102 #include "Event.h"
103 #include "Instance.h"
104 #include "TreeItem.h"
105 #include "ObjectMap.h"
106 #include "Shell.h"
107 #include "ObjectVector.h"
108 #include "ProfileSection.h"
109 #include "PrivateProfile.h"