📄 inprocsrv.cpp
字号:
// Get needed include files
#include "StdInc.h"
#include "Resource.h"
//
// Main application/server class
//
class CInProcServerApp : public CWinApp
{
public:
// Public methods inherited from CWinApp
virtual BOOL InitInstance();
virtual int ExitInstance();
};
// Our one-and-only application object
CInProcServerApp TheApp;
BOOL CInProcServerApp::InitInstance()
{
AfxOleLockApp();
return COleObjectFactory::RegisterAll();
}
int CInProcServerApp::ExitInstance()
{
AfxOleUnlockApp();
return 0;
}
//
// Standard exported methods for in-process servers
//
//
// Called when COM needs a new class factory
//
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllGetClassObject(rclsid, riid, ppv);
}
//
// Called by COM to check if the server can be unloaded
//
STDAPI DllCanUnloadNow()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllCanUnloadNow();
}
//
// Method used to support self-registration
//
STDAPI DllRegisterServer()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
COleObjectFactory::UpdateRegistryAll();
return S_OK;
}
//
// Method used to support self-unregistration
//
STDAPI DllUnregisterServer()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// Load up various strings from the resource stringtable
CString strClassID, strProgID;
strClassID.LoadString(ID_STR_CLASSID);
strProgID.LoadString(ID_STR_PROGID);
// Transform the string-format CLSID into a real CLSID
CLSID CLSID_Component;
BSTR bstrClassID = strClassID.AllocSysString();
CLSIDFromString(bstrClassID, &CLSID_Component);
SysFreeString(bstrClassID);
// Unregister the class
return AfxOleUnregisterClass(CLSID_Component, strProgID);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -