1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- // kernel.cpp : Defines the initialization routines for the DLL.
- //
- #include "stdafx.h"
- #include <afxdllx.h>
- #include "kernel.h"
- #include "SocketHandle.h"
- //#include "database.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- AFX_EXTENSION_MODULE KernelDLL = { NULL, NULL };
- extern "C" int APIENTRY
- DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
- {
- // Remove this if you use lpReserved
- UNREFERENCED_PARAMETER(lpReserved);
- if (dwReason == DLL_PROCESS_ATTACH)
- {
- TRACE0("KERNEL.DLL Initializing!\n");
-
- // Extension DLL one-time initialization
- if (!AfxInitExtensionModule(KernelDLL, hInstance))
- return 0;
- // Insert this DLL into the resource chain
- // NOTE: If this Extension DLL is being implicitly linked to by
- // an MFC Regular DLL (such as an ActiveX Control)
- // instead of an MFC application, then you will want to
- // remove this line from DllMain and put it in a separate
- // function exported from this Extension DLL. The Regular DLL
- // that uses this Extension DLL should then explicitly call that
- // function to initialize this Extension DLL. Otherwise,
- // the CDynLinkLibrary object will not be attached to the
- // Regular DLL's resource chain, and serious problems will
- // result.
- new CDynLinkLibrary(KernelDLL);
- }
- else if (dwReason == DLL_PROCESS_DETACH)
- {
- TRACE0("KERNEL.DLL Terminating!\n");
- // Terminate the library before destructors are called
- AfxTermExtensionModule(KernelDLL);
- }
- OleInitialize(NULL);
- return 1; // ok
- }
- CDevicesManager* pDevicesManager = NULL;
- CVariantsManager* pVariantsManager = NULL;
- CEventServer* pEventServer = NULL;
- void CreateSystem(void)
- {
- if (pVariantsManager == NULL)
- {
- pVariantsManager = new CVariantsManager;
- }
- // 初始化客户端SOCKET库;
- CSocketHandle::InitLibrary( MAKEWORD(2,2) );
- }
- void DestroySystem(void)
- {
- if (pVariantsManager != NULL)
- {
- delete pVariantsManager;
- }
- // 释放客户端SOCKET库;
- CSocketHandle::ReleaseLibrary();
- }
|