亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? patchi.cpp

?? ice中間件 文件傳輸原代碼 更新為服務形式
?? CPP
字號:
#include "stdafx.h"
#include <Ice/Ice.h>
#include "PatchI.h"
#include "MD5.h"

UpdateServerI::UpdateServerI()
{
	myFileHelp = new FileHelp;
}

UpdateServerI::~UpdateServerI()
{
   delete myFileHelp;
}

bool UpdateServerI::Init(const ::Ice::Current& cur)
{
   myFileHelp->DeinitFile();
   bool bRet = myFileHelp->InitFile(); 
   return bRet;
}

bool UpdateServerI::isUpdate(const ::std::string& curFileVer, const ::Ice::Current&) const
{
	if (0==strlen(myFileHelp->strFileVer)) 
	{
		if (!myFileHelp->InitFile()) {
			return false;
		}
	}
    int iRet = myFileHelp->CompareVersion(curFileVer,myFileHelp->strFileVer);
    if (iRet<0) 
	{
		return false;
    }
	return true;
}

void UpdateServerI::GetFileInfo(::std::string& fileName, ::Ice::Long& fileSize, ::std::string& updateVersion, ::Patch::ByteSeq& pFileHash, const ::Ice::Current&)
{
	CHAR strFileName[MAX_PATH] = {0};
	myFileHelp->GetFileName(myFileHelp->strFileName,myFileHelp->strFileVer);
	fileName = myFileHelp->strFileName;
	if (NULL == myFileHelp->hFileSrc) 
	{
       if (!myFileHelp->InitFile()) 
	   {
		   return;
       }
	}
	fileSize = GetFileSize(myFileHelp->hFileSrc,NULL);
}

void UpdateServerI::GetDataFromFile_async(const ::Patch::AMD_UpdateServer_GetDataFromFilePtr& amdPtr, ::Ice::Int iFilePos,const ::Ice::Current& /* = ::Ice::Current */)
{
	BYTE *pNewBuf = NULL;
	BYTE *pHashValue = NULL;
	::Patch::ByteSeq myByteSeq;
	::Patch::ByteSeq myHashValue;
	::Ice::Int iReadSize = 0;
	subvector subv;
	bool bRet = true;
	unsigned char   md5[16] = {0};
	unsigned long dwReadSizeOut, dwTotalReadSize = 0;
	if (myFileHelp->hFileSrc==NULL) 
	{
		if (!myFileHelp->InitFile()) {
			myException ex;
			ex.iErrCode = -1;
			ex.errDescription = "打開文件失敗!";
			throw ex;
			// 這里返回文件打開的錯誤
		}
	}
	pNewBuf = new BYTE[4096];
	
	if (NULL==pNewBuf) {
		bRet = 0; 
		myException ex;
		ex.iErrCode = -1;
		ex.errDescription = "內存不足,無法分配內存";
		throw ex;
	}	
	memset(pNewBuf,0,4096);
	SetFilePointer(myFileHelp->hFileSrc,iFilePos*4096,0,FILE_BEGIN);
	bRet = ReadFile(myFileHelp->hFileSrc,pNewBuf,4096,&dwReadSizeOut,NULL);
	
	iReadSize = dwReadSizeOut;
	if ((true==bRet)&&(iReadSize==4096)) 
	{
		MD5(pNewBuf,4096,md5);
		subv.buftovector(pNewBuf,dwReadSizeOut,myByteSeq);
		subv.buftovector(md5,16,myHashValue);
	}
	else if ((true==bRet)&&(iReadSize<4096)) 
	{ // 表示文件已經讀取完畢
		MD5(pNewBuf,iReadSize,md5);
		subv.buftovector(pNewBuf,dwReadSizeOut,myByteSeq);
		subv.buftovector(md5,16,myHashValue);
	}
	{
		if (!bRet)
		{
			CloseHandle(myFileHelp->hFileSrc);	
			myFileHelp->hFileSrc = NULL;
			delete pNewBuf;
			pNewBuf = NULL;
			amdPtr->ice_response(myByteSeq,myHashValue,0);
			myException ex;
			ex.iErrCode = -2;
			ex.errDescription = "讀取文件失敗";
			throw ex;
			// 這里返回讀取文件失敗的錯誤
		}			
	} 
	delete pNewBuf;
	pNewBuf = NULL;
	amdPtr->ice_response(myByteSeq,myHashValue,iReadSize);
	// 這里返回文件成功    
	return ;
}

bool UpdateServerI::shutdown(const ::Ice::Current& cur)
{
	cur.adapter->getCommunicator()->shutdown();
	return true;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜免费视频| 精品国产伦理网| 欧美成人三级在线| 亚洲精品日日夜夜| 国产激情精品久久久第一区二区 | 99久久亚洲一区二区三区青草| 欧美日韩激情一区二区三区| 国产精品久久一卡二卡| 国产在线一区观看| 欧美挠脚心视频网站| 亚洲女人的天堂| 成人精品视频网站| 久久青草欧美一区二区三区| 秋霞午夜av一区二区三区| 欧美亚洲综合一区| 亚洲精品伦理在线| 91视视频在线直接观看在线看网页在线看| 日韩精品在线网站| 精品一区二区三区在线播放| 51精品秘密在线观看| 亚洲一二三四久久| 欧美影片第一页| 一区二区久久久| 日本大香伊一区二区三区| 国产精品麻豆99久久久久久| 国产成人在线观看免费网站| 久久美女高清视频| 国产成人无遮挡在线视频| 国产亚洲一区二区三区四区| 国产精品一级在线| 中文字幕二三区不卡| 成人午夜精品在线| 综合在线观看色| 99久久99久久免费精品蜜臀| 中文字幕中文在线不卡住| 91在线精品一区二区| 亚洲综合在线第一页| 欧美日韩视频在线观看一区二区三区 | 男女性色大片免费观看一区二区 | 欧美一区二区三区在线| 三级在线观看一区二区 | 欧美三级蜜桃2在线观看| 亚洲国产精品久久人人爱蜜臀| 欧美日韩精品电影| 久久91精品国产91久久小草| 国产亚洲综合在线| 99re成人精品视频| 亚洲成在人线在线播放| 日韩精品一区二区三区视频在线观看| 美女精品自拍一二三四| 国产免费观看久久| 日本韩国视频一区二区| 亚洲动漫第一页| 日韩欧美色综合网站| 成人天堂资源www在线| 亚洲精品第1页| 日韩精品中文字幕在线不卡尤物 | 日本特黄久久久高潮| 久久久综合精品| 在线视频一区二区免费| 老鸭窝一区二区久久精品| 国产精品色哟哟| 欧美日韩一区 二区 三区 久久精品 | 亚洲成人在线观看视频| 精品久久久三级丝袜| 99精品久久免费看蜜臀剧情介绍| 亚洲成人7777| 国产精品无码永久免费888| 欧美日韩一区国产| 国产白丝网站精品污在线入口| 一区二区三区中文在线观看| 精品久久免费看| 欧美午夜精品理论片a级按摩| 极品少妇xxxx偷拍精品少妇| 亚洲精品v日韩精品| 26uuu色噜噜精品一区| 欧美中文字幕久久| 成人国产精品免费| 麻豆精品久久精品色综合| 亚洲美女淫视频| 久久久影视传媒| 欧美一卡在线观看| 91黄色激情网站| 高清视频一区二区| 九九**精品视频免费播放| 亚洲午夜久久久| 国产精品国产三级国产专播品爱网 | 在线电影一区二区三区| 91污在线观看| 成人精品免费视频| 国产麻豆成人精品| 另类的小说在线视频另类成人小视频在线| 亚洲人精品午夜| 国产精品久久久久三级| 国产日本欧洲亚洲| 久久蜜桃av一区二区天堂| 日韩三级中文字幕| 欧美人与禽zozo性伦| 久久精品视频免费| 精品欧美一区二区久久| 91麻豆精品国产自产在线观看一区| 91理论电影在线观看| www.欧美日韩国产在线| 成人性生交大片免费看在线播放 | 日本大香伊一区二区三区| caoporn国产精品| zzijzzij亚洲日本少妇熟睡| 国产黑丝在线一区二区三区| 国产麻豆9l精品三级站| 国产精品综合在线视频| 国产麻豆欧美日韩一区| 国产精品一区专区| 国产黄人亚洲片| 成av人片一区二区| 91在线免费播放| 在线中文字幕一区二区| 欧美日韩国产免费| 欧美日韩1234| 日韩女优制服丝袜电影| 26uuu色噜噜精品一区| 久久久精品国产99久久精品芒果| 久久精品亚洲精品国产欧美kt∨| 久久久国产一区二区三区四区小说| 久久久久久毛片| 中文字幕一区二区三区在线播放| 亚洲情趣在线观看| 亚洲综合精品久久| 日本不卡一二三区黄网| 国产麻豆一精品一av一免费| av网站一区二区三区| 色呦呦网站一区| 91精品国产91综合久久蜜臀| 日韩一区二区三| 国产精品日韩成人| 亚洲电影第三页| 国产精品自拍在线| 一本高清dvd不卡在线观看| 欧美偷拍一区二区| 日韩视频123| 一区在线观看视频| 日本在线不卡一区| 成人白浆超碰人人人人| 欧美绝品在线观看成人午夜影视| 久久综合色天天久久综合图片| 中文字幕一区二区在线观看| 亚洲va在线va天堂| 国产白丝精品91爽爽久久| 在线国产亚洲欧美| 久久综合九色欧美综合狠狠| 亚洲精品视频一区| 九九九精品视频| 在线观看日韩一区| 久久在线观看免费| 亚洲成人综合视频| 成人av网站在线观看| 91精品久久久久久久99蜜桃| 国产精品伦一区| 蜜桃精品视频在线| 亚洲欧洲一区二区在线播放| 日本成人在线视频网站| 国产成人在线免费| 欧美日韩免费不卡视频一区二区三区 | 日本不卡一区二区三区| 成人av手机在线观看| 91精品国产色综合久久ai换脸| 1024成人网| 国内精品久久久久影院薰衣草 | 26uuu另类欧美亚洲曰本| 一区二区理论电影在线观看| 51精品视频一区二区三区| 国产精品麻豆网站| 国内精品写真在线观看| 欧美日韩精品高清| 亚洲欧美电影院| 国产91在线看| 精品国产一区a| 日韩电影免费在线看| 色婷婷久久99综合精品jk白丝| 久久色在线观看| 精品制服美女丁香| 日韩欧美一区二区三区在线| 香港成人在线视频| 欧美视频精品在线| 亚洲人被黑人高潮完整版| 成人黄色777网| 国产日本欧美一区二区| 国产成人免费xxxxxxxx| 久久精品夜夜夜夜久久| 激情深爱一区二区| 欧美tickling网站挠脚心| 日本不卡中文字幕| 日韩一区二区三区av| 六月婷婷色综合| 欧美成人三级在线| 狠狠色综合播放一区二区| 欧美α欧美αv大片| 狠狠色丁香婷婷综合| 精品美女被调教视频大全网站| 久久精品国产99久久6| 精品1区2区在线观看|