Burndiscs.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. // Burndiscs.cpp : 定义 DLL 的初始化例程。
  2. //
  3. #include "stdafx.h"
  4. #include "Burndiscs.h"
  5. #include "IBurndisc.h"
  6. #include "NeroImpl.h"
  7. #include "IMAPI2Impl.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #endif
  11. //
  12. //TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,
  13. // 则从此 DLL 导出的任何调入
  14. // MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
  15. // 该函数的最前面。
  16. //
  17. // 例如:
  18. //
  19. // extern "C" BOOL PASCAL EXPORT ExportedFunction()
  20. // {
  21. // AFX_MANAGE_STATE(AfxGetStaticModuleState());
  22. // // 此处为普通函数体
  23. // }
  24. //
  25. // 此宏先于任何 MFC 调用
  26. // 出现在每个函数中十分重要。这意味着
  27. // 它必须作为函数中的第一个语句
  28. // 出现,甚至先于所有对象变量声明,
  29. // 这是因为它们的构造函数可能生成 MFC
  30. // DLL 调用。
  31. //
  32. // 有关其他详细信息,
  33. // 请参阅 MFC 技术说明 33 和 58。
  34. //
  35. // CBurndiscsApp
  36. BEGIN_MESSAGE_MAP(CBurndiscsApp, CWinApp)
  37. END_MESSAGE_MAP()
  38. // CBurndiscsApp 构造
  39. CBurndiscsApp::CBurndiscsApp()
  40. {
  41. // TODO: 在此处添加构造代码,
  42. // 将所有重要的初始化放置在 InitInstance 中
  43. }
  44. // 唯一的一个 CBurndiscsApp 对象
  45. CBurndiscsApp theApp;
  46. // CBurndiscsApp 初始化
  47. BOOL CBurndiscsApp::InitInstance()
  48. {
  49. CWinApp::InitInstance();
  50. return TRUE;
  51. }
  52. /************************************************************************/
  53. /* 函数:[4/1/2018 Home];
  54. /* 描述:;
  55. /* 参数:;
  56. /* [IN] :;
  57. /* [OUT] :;
  58. /* [IN/OUT] :;
  59. /* 返回:void;
  60. /* 注意:;
  61. /* 示例:;
  62. /*
  63. /* 修改:;
  64. /* 日期:;
  65. /* 内容:;
  66. /************************************************************************/
  67. extern "C" IBurndisc* PASCAL EXPORT CreateIBurndisc(bool IsNeroMode)
  68. {
  69. AFX_MANAGE_STATE(AfxGetStaticModuleState());
  70. // 此处为普通函数体
  71. IBurndisc *pBurdisc = NULL;
  72. if ( IsNeroMode )
  73. pBurdisc = new CNeroImpl();
  74. else
  75. pBurdisc = new CIMAPI2Impl();
  76. pBurdisc->AddRef();
  77. return pBurdisc;
  78. }