📄 atlinprocsrv.cpp
字号:
// Get needed include files
#include "Pizza3.h"
//
// Object map, indicates which classes are serviced by this server
//
BEGIN_OBJECT_MAP(ObjectMap)
OBJECT_ENTRY(CLSID_PizzaOrderTaker3, ComPizzaOrderTaker)
END_OBJECT_MAP()
//
// The global module object
//
QueATLModule _Module;
//
// Standard exported method called by Windows when important
// system events occur
//
extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
// Is a process starting to use us?
if (dwReason == DLL_PROCESS_ATTACH) {
// Fire up the main server module
_Module.Init(ObjectMap, hInstance);
// We're not interested in thread attach/detach notifications
DisableThreadLibraryCalls(hInstance);
}
// We're all done with this server so we need to power down the main
// module object
else if (dwReason == DLL_PROCESS_DETACH)
_Module.Term();
return TRUE;
}
//
// Standard exported methods for in-process servers
//
//
// Called when COM needs a new class factory
//
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
return _Module.GetClassObject(rclsid, riid, ppv);
}
//
// Called by COM to check if the server can be unloaded
//
STDAPI DllCanUnloadNow()
{
return _Module.GetLockCount() ? S_FALSE : S_OK;
}
//
// Method used to support self-registration
//
STDAPI DllRegisterServer()
{
return _Module.RegisterServer();
}
//
// Method used to support self-unregistration
//
STDAPI DllUnregisterServer()
{
return _Module.UnregisterServer();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -