// NeroBurn.h: interface for the CNeroBurn class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_NEROBURN_H__B0013267_B352_480E_B30C_A023EFDC2A1D__INCLUDED_) #define AFX_NEROBURN_H__B0013267_B352_480E_B30C_A023EFDC2A1D__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include class CNeroBurn { CArraym_photoMniiArray; CStringArray m_nameArray; public: CString m_strCustomerInfo; BOOL m_bDvd; // m_DirArray与m_DirRealNameArray是同步的; CStringArray m_DirArray; CStringArray m_DirRealNameArray; void NeroAPIBurn(); void NeroAPIFree(); BOOL NeroAPIInit(); CNeroBurn(); virtual ~CNeroBurn(); public: int GetPosFromName(CString dirname); int GetDirPos(CString dir); void JoinDir(CString dir); bool NeroWorkError; bool NeroBurnOK; CStringArray strBurnSourceFilePath; CStringArray *m_pDir; CArraym_pDirChildArray; //此目录有几个子目录 CStringArray *m_pPhotoArray; int NeroBurnFileNums; char pcLanguageFile [128]; char pcVendor [128]; char pcNeroFilesPath [128]; char pcDriveName [128]; FILE* pFile; NERO_CD_INFO* pncdCDInfo; NERO_SCSI_DEVICE_INFOS* pndiDeviceInfos; NERO_DEVICEHANDLE ndhDeviceHandle; //CString mstrFileName; //CString strNum,strPathNum; //CString mstrPathName; char pcSoftware [128]; NERO_PROGRESS npProgress; NERO_SETTINGS nsSettings; #ifdef USE_KERNEL_DLL NERO_ISO_ITEM* m_pRootItem; vector m_vtItems; NERO_ISO_ITEM* InitRootItem(); NERO_ISO_ITEM* GetDiscItem(); NERO_ISO_ITEM* AddSiblingRootItem( IN NERO_ISO_ITEM* pRootItem ); NERO_ISO_ITEM* AddSiblingRootItem( IN CString strRootName, IN BOOL bIsDirectory ); NERO_ISO_ITEM* AddItem2SiblingItem( IN NERO_ISO_ITEM* pSiblingItem, IN NERO_ISO_ITEM* pNewItem); NERO_ISO_ITEM* AddItem2Path( IN CString strDiscPath, IN NERO_ISO_ITEM* pNewItem); NERO_ISO_ITEM* AddSiblingPath(IN CString strDiscPath, IN CString strNewPath); NERO_ISO_ITEM* AddPath(IN CString strNewPath); NERO_ISO_ITEM* AddPath2Path(IN CString strDiscPath, IN CString strNewPath); NERO_ISO_ITEM* AddPath2PathItem(IN NERO_ISO_ITEM* pPathItem, IN CString strNewPath ); NERO_ISO_ITEM* AddFile2Path(IN CString strDiscPath, IN CString strFileName); NERO_ISO_ITEM* AddFile2SiblingItem(IN NERO_ISO_ITEM* pSiblingItem, IN CString strFileName); NERO_ISO_ITEM* FindPathItem( IN CString strDiscPath ); NERO_ISO_ITEM* FindPathInSibling( IN NERO_ISO_ITEM* pSiblingHeadItem, IN CString& strDiscPath ); NERO_ISO_ITEM* FindSiblingNextToLast( IN NERO_ISO_ITEM* pSiblingHeadItem ); void RemoveRootItem(); void RemoveAllItem(IN NERO_ISO_ITEM* pRootItem); void DiscBurn(); #endif }; #endif // !defined(AFX_NEROBURN_H__B0013267_B352_480E_B30C_A023EFDC2A1D__INCLUDED_)