?? upgrade.h
字號:
#ifndef _CLASS_CUpgradeFile_h_
#define _CLASS_CUpgradeFile_h_
#if (!__LARGE__)
#error You must choose Large Memory Model at compile time(選擇大模式編譯)
#endif
#include <stdio.h>
#define constUpgradeOKFileName "\\uprade!!.OK"
enum{STATUS_NEGOTIATE=0,STATUS_TRANSFER,STATUS_UPRGRADEEND,STATUS_END};
class CUpgradeFile
{
public:
void Start();
CUpgradeFile();
virtual ~CUpgradeFile();
protected:
short CreateNewFile(unsigned long FileLen,char *filename);
short Handle_Answer_0xB2();
short Handle_0xB2();
short Handle_Check_0xB1();
unsigned char Handle_0xB1();//0=OK
void SendErrorMessagePackage(unsigned char ErrorCode);
void CreateSuccMarkFile();
short Operate_SendB0_WaitB1();//發送B0等待連接協商
short Operate_SendB1_WaitB2();//發送B1等待傳輸數據
short Operate_SendB2_WaitTransDataEND();//發送B2等待傳輸數據結束
short Operate_SendTransDataEND_WaitB1();//發送傳輸數據結束等待新文件協商
short CheckFileCrcCode();
short CheckDiskFreeSpace(unsigned long newFileLen);
FILE *ptrFile;
short m_CurWorkStatus;
private:
short ReadUpgradeParameter(const unsigned char *ptrData);//從數據包獲得升級數據參數 0=OK 1=Error
//升級數據參數
unsigned char m_UnSuccFileCount;//剩余未發送的文件數
unsigned char m_UprModel;//升級模式
unsigned long m_lFileLen;//升級文件長度
unsigned short m_uPackageSize;//升級文件每包大小
unsigned short m_uPackageCount;//升級包數。
unsigned long m_lFileCrcCode1,m_lFileCrcCode2;//升級文件最終校驗碼
char m_strFileName[65];//升級文件名
char *m_ptrSuccPackMark;
unsigned short m_SuccPackCount;
unsigned short m_CurRecvFileIndex;
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -