// stdafx.h : 标准系统包含文件的包含文件, // 或是经常使用但不常更改的 // 特定于项目的包含文件 #pragma once #ifndef _SECURE_ATL #define _SECURE_ATL 1 #endif #ifndef VC_EXTRALEAN #define VC_EXTRALEAN // 从 Windows 头中排除极少使用的资料 #endif #include "targetver.h" #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将是显式的 // 关闭 MFC 对某些常见但经常可放心忽略的警告消息的隐藏 #define _AFX_ALL_WARNINGS #include // MFC 核心组件和标准组件 #include // MFC 扩展 #include // MFC 自动化类 #ifndef _AFX_NO_OLE_SUPPORT #include // MFC 对 Internet Explorer 4 公共控件的支持 #endif #ifndef _AFX_NO_AFXCMN_SUPPORT #include // MFC 对 Windows 公共控件的支持 #endif // _AFX_NO_AFXCMN_SUPPORT #include // 功能区和控件条的 MFC 支持 #ifdef USE_STATIC_ICONV // 使用静态库; #ifndef LIBICONV_EXPORTS #define LIBICONV_EXPORTS 1 #endif #ifndef BUILDING_LIBICONV #define BUILDING_LIBICONV 1 #endif #ifndef BUILDING_LIBCHARSET #define BUILDING_LIBCHARSET 1 #endif #endif #include #include using namespace std; #ifndef _UNICODE typedef string TString; #else typedef wstring TString; #endif #include "iconv_impl.h" #include "filehelp.h" #ifdef _DEBUG #include "..\Burndiscs\NeroBurndisc.h" #include "..\Burndiscs\NeroDevice.h" #include "..\Burndiscs\NeroMedia.h" #include "..\Burndiscs\NeroItem.h" #include "..\Burndiscs\IBurndisc.h" #include "..\Burndiscs\NeroImpl.h" #include #include "..\Burndiscs\DiscFormatData.h" #include "..\Burndiscs\DiscFormatDataEvent.h" #include "..\Burndiscs\DiscMaster.h" #include "..\Burndiscs\DiscRecorder.h" #include "..\Burndiscs\IMAPI2Impl.h" #endif #include // for SHCreateStreamOnFileEx // /* for the settings */ // static BOOL NERO_CALLBACK_ATTR IdleCallback (void *pUserData); // static NeroUserDlgInOut NERO_CALLBACK_ATTR UserDialog (void *pUserData, NeroUserDlgInOut type, void *data); // // /* for the progress display */ // static BOOL NERO_CALLBACK_ATTR ProgressCallback (void *pUserData, DWORD dwProgressInPercent); // static BOOL NERO_CALLBACK_ATTR AbortedCallback (void *pUserData); // static void NERO_CALLBACK_ATTR AddLogLine (void *pUserData, NERO_TEXT_TYPE type, const char *text); // static void NERO_CALLBACK_ATTR SetPhaseCallback (void *pUserData, const char *text); // static void NERO_CALLBACK_ATTR DisableAbortCallback (void *pUserData,BOOL abortEnabled); // static void NERO_CALLBACK_ATTR SetMajorPhaseCallback(void *pUserData,NERO_MAJOR_PHASE phase,void *reserved); // // /* IO callbacks - both take a FILE * as user data */ // static DWORD NERO_CALLBACK_ATTR WriteIOCallback (void *pUserData, BYTE *pBuffer, DWORD dwLen); // static DWORD NERO_CALLBACK_ATTR ReadIOCallback (void *pUserData, BYTE *pBuffer, DWORD dwLen); // static BOOL NERO_CALLBACK_ATTR EOFCallback (void *pUserData); // static BOOL NERO_CALLBACK_ATTR ErrorCallback (void *pUserData); extern BOOL NERO_CALLBACK_ATTR _IdleCallback(void *pUserData); extern NeroUserDlgInOut NERO_CALLBACK_ATTR _UserDialog(void *pUserData, NeroUserDlgInOut type, void *data); extern BOOL NERO_CALLBACK_ATTR _ProgressCallback(void *pUserData, DWORD dwProgressInPercent); extern BOOL NERO_CALLBACK_ATTR _AbortedCallback(void *pUserData); extern void NERO_CALLBACK_ATTR _AddLogLine(void *pUserData, NERO_TEXT_TYPE type, const char *text); extern void NERO_CALLBACK_ATTR _SetPhaseCallback(void *pUserData, const char *text); extern void NERO_CALLBACK_ATTR _DisableAbortCallback(void *pUserData, BOOL enableAbort); extern void NERO_CALLBACK_ATTR _SetMajorPhaseCallback(void *pUserData, NERO_MAJOR_PHASE phase, void *reserved); extern DWORD NERO_CALLBACK_ATTR _WriteIOCallback(void *pUserData, BYTE *pBuffer, DWORD dwLen); extern BOOL NERO_CALLBACK_ATTR _EOFCallback(void *pUserData); extern BOOL NERO_CALLBACK_ATTR _ErrorCallback(void *pUserData); extern DWORD NERO_CALLBACK_ATTR _ReadIOCallback(void *pUserData, BYTE *pBuffer, DWORD dwLen); ///删除一个数组指针的宏定义 #ifndef DELETEA #define DELETEA(ptr) \ if(NULL != ptr) \ { \ delete[] ptr; \ ptr = NULL; \ } #endif // 删除一个指针的宏定义; #ifndef FREEP #define FREEP(ptr) \ if(NULL != ptr) \ { \ free(ptr) ; \ ptr = NULL; \ } #endif //删除一个指针的宏定义; #ifndef DELETEP #define DELETEP(ptr) \ if(NULL != (ptr)) \ { \ delete (ptr); \ (ptr) = NULL; \ } #endif // 删除一个GDI对象的宏定义; #define DELETEOBJECT(ptr) \ if(NULL != (ptr)) \ { \ ::DeleteObject (ptr);\ (ptr) = NULL; \ } // Destroy一个Window; #define DESTROYWINDOW(hWnd) \ if (IsWindow(hWnd)) \ { \ DestroyWindow(hWnd); \ } #define RELEASEP(ptr)\ if ( ptr)\ {\ ptr->Release();\ ptr = NULL;\ } #ifdef _UNICODE #if defined _M_IX86 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") #elif defined _M_IA64 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"") #elif defined _M_X64 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") #else #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") #endif #endif