-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPGSuperScriptingAgent.cpp
More file actions
92 lines (75 loc) · 2.15 KB
/
PGSuperScriptingAgent.cpp
File metadata and controls
92 lines (75 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include "stdafx.h"
#include "resource.h"
#include "PGSuperScriptingAgentImp.h"
#include "dllmain.h"
#include "PGSuperCatCom.h"
#include "PGSpliceCatCom.h"
#include <System\ComCatMgr.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// Used to determine whether the DLL can be unloaded by OLE
STDAPI DllCanUnloadNow(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return (AfxDllCanUnloadNow()==S_OK && _AtlModule.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 _AtlModule.DllGetClassObject(rclsid, riid, ppv);
}
void RegsiterAsExtensionAgent(bool bRegister)
{
WBFL::System::ComCatMgr::RegWithCategory(CLSID_PGSuperScriptingAgent, CATID_PGSuperExtensionAgent, bRegister);
//WBFL::System::ComCatMgr::RegWithCategory(CLSID_PGSuperScriptingAgent, CATID_PGSpliceExtensionAgent, bRegister);
}
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
// registers object, typelib and all interfaces in typelib
HRESULT hr = _AtlModule.DllRegisterServer(FALSE);
// Register extension agent
RegsiterAsExtensionAgent(true);
return hr;
}
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
HRESULT hr = _AtlModule.DllUnregisterServer(FALSE);
// Register extension agent
RegsiterAsExtensionAgent(false);
return hr;
}
//// DllInstall - Adds/Removes entries to the system registry per user
//// per machine.
//STDAPI DllInstall(BOOL bInstall, LPCWSTR pszCmdLine)
//{
// HRESULT hr = E_FAIL;
// static const wchar_t szUserSwitch[] = _T("user");
//
// if (pszCmdLine != nullptr)
// {
// if (_wcsnicmp(pszCmdLine, szUserSwitch, _countof(szUserSwitch)) == 0)
// {
// AtlSetPerUserRegistration(true);
// }
// }
//
// if (bInstall)
// {
// hr = DllRegisterServer();
// if (FAILED(hr))
// {
// DllUnregisterServer();
// }
// }
// else
// {
// hr = DllUnregisterServer();
// }
//
// return hr;
//}