1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // WxAdoInterface.cpp: 定义 DLL 的初始化例程。
- //
- #include "stdafx.h"
- #include "WxAdoInterface.h"
- #include "IWxAdoInterface.h"
- #include "WxAdoImpl.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #endif
- //
- //TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,
- // 则从此 DLL 导出的任何调入
- // MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
- // 该函数的最前面。
- //
- // 例如:
- //
- // extern "C" BOOL PASCAL EXPORT ExportedFunction()
- // {
- // AFX_MANAGE_STATE(AfxGetStaticModuleState());
- // // 此处为普通函数体
- // }
- //
- // 此宏先于任何 MFC 调用
- // 出现在每个函数中十分重要。 这意味着
- // 它必须作为以下项中的第一个语句:
- // 出现,甚至先于所有对象变量声明,
- // 这是因为它们的构造函数可能生成 MFC
- // DLL 调用。
- //
- // 有关其他详细信息,
- // 请参阅 MFC 技术说明 33 和 58。
- //
- // CWxAdoInterfaceApp
- BEGIN_MESSAGE_MAP(CWxAdoInterfaceApp, CWinApp)
- END_MESSAGE_MAP()
- // CWxAdoInterfaceApp 构造
- CWxAdoInterfaceApp::CWxAdoInterfaceApp()
- {
- // TODO: 在此处添加构造代码,
- // 将所有重要的初始化放置在 InitInstance 中
- }
- // 唯一的 CWxAdoInterfaceApp 对象
- CWxAdoInterfaceApp theApp;
- // CWxAdoInterfaceApp 初始化
- BOOL CWxAdoInterfaceApp::InitInstance()
- {
- CWinApp::InitInstance();
- ::CoInitialize(NULL);//初始化COM环境
- return TRUE;
- }
- extern "C" IWxAdoInterface* PASCAL EXPORT CreateWxAdoPoolInstance()
- {
- AFX_MANAGE_STATE(AfxGetStaticModuleState());
- // 此处为普通函数体
- IWxAdoInterface *pInstance = CWxAdoImpl::GetInstance();
- if (pInstance != NULL)
- pInstance->AddRef();
-
- return pInstance;
- return NULL;
- }
- int CWxAdoInterfaceApp::ExitInstance()
- {
- // TODO: 在此添加专用代码和/或调用基类
- ::CoUninitialize();
- return CWinApp::ExitInstance();
- }
|