NeroBurn.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // NeroBurn.h: interface for the CNeroBurn class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_NEROBURN_H__B0013267_B352_480E_B30C_A023EFDC2A1D__INCLUDED_)
  5. #define AFX_NEROBURN_H__B0013267_B352_480E_B30C_A023EFDC2A1D__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <afxtempl.h>
  10. class CNeroBurn
  11. {
  12. CArray<NERO_ISO_ITEM*,NERO_ISO_ITEM*>m_photoMniiArray;
  13. CStringArray m_nameArray;
  14. public:
  15. CString m_strCustomerInfo;
  16. BOOL m_bDvd;
  17. // m_DirArray与m_DirRealNameArray是同步的;
  18. CStringArray m_DirArray;
  19. CStringArray m_DirRealNameArray;
  20. void NeroAPIBurn();
  21. void NeroAPIFree();
  22. BOOL NeroAPIInit();
  23. CNeroBurn();
  24. virtual ~CNeroBurn();
  25. public:
  26. int GetPosFromName(CString dirname);
  27. int GetDirPos(CString dir);
  28. void JoinDir(CString dir);
  29. bool NeroWorkError;
  30. bool NeroBurnOK;
  31. CStringArray strBurnSourceFilePath;
  32. CStringArray *m_pDir;
  33. CArray<int,int>m_pDirChildArray; //此目录有几个子目录
  34. CStringArray *m_pPhotoArray;
  35. int NeroBurnFileNums;
  36. char pcLanguageFile [128];
  37. char pcVendor [128];
  38. char pcNeroFilesPath [128];
  39. char pcDriveName [128];
  40. FILE* pFile;
  41. NERO_CD_INFO* pncdCDInfo;
  42. NERO_SCSI_DEVICE_INFOS* pndiDeviceInfos;
  43. NERO_DEVICEHANDLE ndhDeviceHandle;
  44. //CString mstrFileName;
  45. //CString strNum,strPathNum;
  46. //CString mstrPathName;
  47. char pcSoftware [128];
  48. NERO_PROGRESS npProgress;
  49. NERO_SETTINGS nsSettings;
  50. #ifdef USE_KERNEL_DLL
  51. NERO_ISO_ITEM* m_pRootItem;
  52. vector<NERO_ISO_ITEM*> m_vtItems;
  53. NERO_ISO_ITEM* InitRootItem();
  54. NERO_ISO_ITEM* GetDiscItem();
  55. NERO_ISO_ITEM* AddSiblingRootItem( IN NERO_ISO_ITEM* pRootItem );
  56. NERO_ISO_ITEM* AddSiblingRootItem( IN CString strRootName, IN BOOL bIsDirectory );
  57. NERO_ISO_ITEM* AddItem2SiblingItem( IN NERO_ISO_ITEM* pSiblingItem, IN NERO_ISO_ITEM* pNewItem);
  58. NERO_ISO_ITEM* AddItem2Path( IN CString strDiscPath, IN NERO_ISO_ITEM* pNewItem);
  59. NERO_ISO_ITEM* AddSiblingPath(IN CString strDiscPath, IN CString strNewPath);
  60. NERO_ISO_ITEM* AddPath(IN CString strNewPath);
  61. NERO_ISO_ITEM* AddPath2Path(IN CString strDiscPath, IN CString strNewPath);
  62. NERO_ISO_ITEM* AddPath2PathItem(IN NERO_ISO_ITEM* pPathItem, IN CString strNewPath );
  63. NERO_ISO_ITEM* AddFile2Path(IN CString strDiscPath, IN CString strFileName);
  64. NERO_ISO_ITEM* AddFile2SiblingItem(IN NERO_ISO_ITEM* pSiblingItem, IN CString strFileName);
  65. NERO_ISO_ITEM* FindPathItem( IN CString strDiscPath );
  66. NERO_ISO_ITEM* FindPathInSibling( IN NERO_ISO_ITEM* pSiblingHeadItem, IN CString& strDiscPath );
  67. NERO_ISO_ITEM* FindSiblingNextToLast( IN NERO_ISO_ITEM* pSiblingHeadItem );
  68. void RemoveRootItem();
  69. void RemoveAllItem(IN NERO_ISO_ITEM* pRootItem);
  70. void DiscBurn();
  71. #endif
  72. };
  73. #endif // !defined(AFX_NEROBURN_H__B0013267_B352_480E_B30C_A023EFDC2A1D__INCLUDED_)