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

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

?? api.#2

?? sl811 c8051F驅動程序 保證絕對可以使用 USB通信協議USB1.1
?? #2
?? 第 1 頁 / 共 2 頁
字號:
			//	buf=buf+32;
				memcpy((BuffFile+k), (buf+j), 11);
				j+=sizeof(struct _DIR);
				k+=11;
			}
			else if(dir->Name[0]==0)
				return TRUE;
	  }
	}
 return FALSE;
}
BYTE DelFile(const char * filename)
{
	DWORD FileFirstSector;
	BYTE  buf[512];
	WORD  Cluster,Cache[256];
	struct _DIR *dir;
	FileFirstSector=LocateFile(filename, &ApiFileControl);
	if(FileFirstSector==0xffffffff)
		return FALSE;
	dir=(struct _DIR *)buf;
	if(!Read(ApiFileControl.DirSectorNum,1,buf))
		return FALSE;
	ApiFileControl.dir.Name[0]=0xe5;
	dir=dir+ApiFileControl.DirIndex;
	memcpy(dir,&ApiFileControl.dir,sizeof(struct _DIR));
	if(!Write(ApiFileControl.DirSectorNum ,1,buf))
		return FALSE;
	Cluster=WordSwap(ApiFileControl.dir.FstClusLO);
	if(!Read(((2*Cluster/SimpleBpb.BytsPerSec)+FatParameter.FirstFatSecNum),1,(BYTE *)Cache))
		return FALSE;
	for(;;)
	{
			  	
	//	Cluster=GetListCluster(Cluster);
		Cache[(Cluster%(SimpleBpb.BytsPerSec/2))]=0;
		if((Cluster%(SimpleBpb.BytsPerSec/2))==0)
		{
			if(!Write((2*Cluster/SimpleBpb.BytsPerSec)+FatParameter.FirstFatSecNum,1,(BYTE *)Cache))
				return FALSE;
			if(!Read((2*Cluster/SimpleBpb.BytsPerSec)+FatParameter.FirstFatSecNum),1,(BYTE *)Cache)
				return FALSE;
		}
		Cluster=GetListCluster(Cluster);
		if((GetListCluster(Cluster)==0xffff)||(Cluster==0))
		{
			Cache[(Cluster%(SimpleBpb.BytsPerSec/2))]=0;
			break;	 
		}
	}
	if(!Write((2*Cluster/SimpleBpb.BytsPerSec)+FatParameter.FirstFatSecNum,1,(BYTE *)Cache))	
		return FALSE;
 return TRUE;
}
BYTE CreateDir(const char * dirname)
{
	BYTE Dotname[]={0X2E,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20};
	BYTE DotDotname[]={0x2e,0x2e,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20,0X20};
	WORD  NewCluster,buf[256];
	struct _DIR dir,*pdir;
	BYTE temp[12],NewDirName[11],NewFileName[12],name[11],Cache[512],path[22],i;
	BYTE * p=temp,*p1=NewFileName,*p2;
	struct _FILE file;
	////////////////////////////////////////////////////////////////////////
	i=0;
	memset(NewDirName,0,11);
	strcpy(path, dirname);
	while(path[i]!='\\')
	{	
		
		NewDirName[i]=path[i];
		i++;
		if(i>=strlen(dirname))
			break;
	}
	//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
	//核對目錄名是否正確
	if(!CheckFileName(NewDirName,p))
		return FALSE;	
	//*核對該目錄是否已經存在
	if(LocateFile(NewDirName, NULL)!=0xffffffff)
		return FALSE;
	strncpy(name, p, 11);
	memset(&dir, 0, sizeof(dir));
	memcpy(dir.Name, name, 11);
	//定位該目錄并獲取必要信息
	if(!LocateDir(&dir,&file))
		return FALSE;	
	//為該目錄尋找一個空簇
	NewCluster= SeekEmptyCluster();
	if(NewCluster==0xffff)
		return FALSE;
	//在FAT里標記該簇
	if(!Read((2*NewCluster/SimpleBpb.BytsPerSec)+FatParameter.FirstFatSecNum,1,(BYTE *)buf))
		return FALSE;
	buf[NewCluster%(SimpleBpb.BytsPerSec/2)]=0xfffff;
	if(!Write((2*NewCluster/SimpleBpb.BytsPerSec)+FatParameter.FirstFatSecNum,1,(BYTE *)buf))
		return FALSE;
	DelayMs(15);
	//Root dir
	if(!Read(file.DirSectorNum,1,(BYTE *)Cache))
		return FALSE;
	pdir = (struct _DIR *)Cache;
	pdir += file.DirIndex;
	pdir->FstClusLO =WordSwap(NewCluster);
	pdir->FileSize=0;
	pdir->Attr=ATTR_DIRECTORY;
	if(!Write(file.DirSectorNum,1,Cache,TRUE))
		if(!Write(file.DirSectorNum,1,Cache,TRUE))
			return FALSE;
	// dot dir
	memset(Cache,0,512);
	pdir = (struct _DIR *)Cache;
	memset(pdir, 0, sizeof(dir));
	pdir->Attr=ATTR_DIRECTORY;
	pdir->FstClusLO=WordSwap(NewCluster);
	memcpy(pdir->Name, Dotname, 11);
	// dot dot dir;
	pdir++;
	memcpy(pdir->Name, DotDotname, 11);
	pdir->FstClusLO=0;
	for(i=0;i<SimpleBpb.SecPerClus;i++)
	{
		if(!Write(ClusterToSec(NewCluster)+i,1,Cache))
			return FALSE;
		memset(Cache,0,512);
	}
	//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
	//如果目錄且文件名存在則在該目錄下創建一個文件
	/////////////////////////////////////////////////////////////////////////////
	//分離出文件名
	p2=strrchr(path, '\\');
	if(p2==NULL)
		return TRUE;
	memset(NewFileName,0,12);
//	memcpy(NewFileName,(),(strlen(dirname)-strlen(NewDirName)+1));
	if(!CheckFileName(p2+1,p1))
		return FALSE;
	strncpy(name, p1, 11);
	memset(pdir, 0, sizeof(dir));
//	memcpy(dir.Name, name, 11);
//  在數據區寫上文件的頭信息
	for(i=0;i<SimpleBpb.SecPerClus;i++)
	{
		if(!Read(ClusterToSec(NewCluster)+i,1,(BYTE *)Cache))
			return  0xffffffff;			
		pdir=(struct _DIR *)Cache;
		for(pdir = (struct _DIR *)Cache; (BYTE*)pdir < Cache + SimpleBpb.BytsPerSec; pdir++)
		{	
			if(pdir->Name[0]=='\0')
			{	
				memcpy((BYTE *)pdir->Name,name,11);
				if(!Write(ClusterToSec(NewCluster)+i,1,Cache))
					return FALSE;
	//			memcpy(&ApiFileControl.dir.Name,name,11);
				memcpy(&ApiFileControl.dir,pdir,sizeof(struct _DIR));
				ApiFileControl.StartSectorNum=ClusterToSec(WordSwap(pdir->FstClusLO));
				ApiFileControl.SectorOffset=0;
				ApiFileControl.DirSectorNum=ClusterToSec(NewCluster)+i;
				//ApiFileControl.isDir=1;
			//	ApiFileControl.dir.FileSize=0;
				ApiFileControl.DirIndex = ((BYTE*)pdir - Cache)/sizeof(struct _DIR);
				return TRUE;
			}
			pdir++;
		}	
	}
	return TRUE;
}
/////////////////////////////////////////////////////////////////////////
//*所有測試工作從這里開始
BYTE ApiDemo(void)
{
	BYTE buf[5120],buf1[1024],buf2[1024];
	WORD i;
	////////////////////////////////////////////////////////////////////////
	PollDisk();			//首先配置U盤:獲取它的基本信息,測試盤是否已經準備好
	//DemlayMs(100);	//根據不同情況需要延遲同的時間。
	InitFsys();			//讀取FAT信息然,初始化必要的FAT參數
//************************************************************************
//////////////////////////////////////////////////////////////////////////
//	
//去調注釋線,打開下函數設置斷點是可測試創建文件
//	if(!CreatFile("demo.txt",0x20))
//		return	FALSE;
//
///////////////////////////////////////////////////////////////////////////
//	if(!OpenFile("demo.txt"))
//		return FALSE;
//************************************************************************
//測試一:創建一個空文件
//	
//去調注釋線,打開下函數設置斷點是可測試創建文件
//	if(!CreatFile("demo.txt",0x20))
//		return	FALSE;
//////////////////////////////////////////////////////////////////////////
//************************************************************************
//測試二:創建文件demo.txt并寫上少量數據
//
//	for(i=0;i<5120;i++)
//		buf[i]='j';	
//	if(!CreateFile("demo.txt",0x20))
//		return	FALSE;
//	if(!WriteFile(buf,1000))
//		return FALSE;		
//	if(!CloseFile())
//		return FALSE;
/////////////////////////////////////////////////////////////////////////////
//**************************************************************************
//測試三:寫大批量數據
//	for(i=0;i<5120;i++)
//		buf[i]='c';	
//	if(!CreateFile("demo.txt",0x20))
//	return	FALSE;
//	for(i=0;i<5;i++)
//	if(!WriteFile(buf,1000))
//		return FALSE;
//	if(!CloseFile())
//		return FALSE;
///////////////////////////////////////////////////////////////////////////
//**************************************************************************
//測試四:打開一個文件并在文件后面接著寫上一些少量數據可以精確到到字節
//	
//	for(i=0;i<5120;i++)
//		buf[i]='c';
//	if(!OpenFile("demo.txt"))
//		return FALSE;
//	if(!AddWriteFile(buf,1024))
//		return FALSE;
//	if(!CloseFile())
//		return FALSE;
/////////////////////////////////////////////////////////////////////
//**************************************************************************
//測試五:打開一個文件并在文件后面接著寫上大量數據可以精確到到字節
//	
//	for(i=0;i<2048;i++)
//		buf[i]='h';	
//	if(!OpenFile("demo.txt"))
//		return FALSE;
//	if(!AddWriteFile(buf,1024))
//		return FALSE;
//	for(i=0;i<2048;i++)
//		buf[i]='j';		
//	for(i=0;i<10;i++)
//	if(!WriteFile(buf,1000))
//		return FALSE;	
//	if(!CloseFile())
//		return FALSE;
//////////////////////////////////////////////////////////////////////////////	
//***************************************************************************	
//測試六:打開一個文件并讀取數量到緩存buf
//
//	if(!OpenFile("demo.txt"))
// 		return FALSE;
//  ApiFileControl.CurrentSectorNum=ApiFileControl.StartSectorNum;
//	ApiFileControl.SectorOffset=0;
//	if(!ReadFile(buf,500))
//		return FALSE;
//////////////////////////////////////////////////////////////////////////////
//****************************************************************************
//測試七:打開一個大文件文件并讀取數量到到多個buf
//	 
//	if(!OpenFile("demo.txt"))
//		return FALSE;
 //	ApiFileControl.CurrentSectorNum=ApiFileControl.StartSectorNum;
//	ApiFileControl.SectorOffset=0;
//		if(!ReadFile(buf1,500))
//	 	return FALSE;	
//	if(!ReadFile(buf2,500))
//		return FALSE;
///////////////////////////////////////////////////////////////////////////////
//****************************************************************************
//測試八:顯示U盤的文件,執行完后請看全局變量BuffFile里的值
//	if(!DisplayFile())
//		return FALSE;
///////////////////////////////////////////////////////////////////////////
//***************************************************************************
//測試:九刪除指定的文件
//	if(!DelFile("demo.txt"))
//		return FALSE;
///////////////////////////////////////////////////////////////////////////////
//**************************************************************************
//測試十:創建一個目錄
//	if(!CreateDir("demot"))
//		return FALSE;
///////////////////////////////////////////////////////////////////////////////
//********************************************************************************
//測試十一:創建一個目錄同時創建好一個空文件	
//	if(!CreateDir("www\\demo.txt"))
//		return FALSE;			
////////////////////////////////////////////////////////////////////////////////////
//***********************************************************************************
//測試十二:創建好一個目錄同時創建一個文件并寫上數據
//	for(i=0;i<5120;i++)
//	buf[i]='c';		
//	if(!CreateDir("www\\demo.txt"))
//		return FALSE;
//	if(!WriteFile(buf,666))
//		return FALSE;	
//	if(!CloseFile())
//		return FALSE;	
	return TRUE;
}
//************************************************************************
//author:dragon
//web:8dragon.com
//2004.2.5完成于桃龍源
//*************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区在线 | 美国三级日本三级久久99| 成人污污视频在线观看| 欧美激情一区三区| 99re6这里只有精品视频在线观看| 亚洲欧洲精品一区二区精品久久久 | 亚洲午夜影视影院在线观看| 欧美日韩国产美女| 国产麻豆精品一区二区| 中文字幕国产精品一区二区| 91污在线观看| 香蕉久久一区二区不卡无毒影院| 日韩欧美美女一区二区三区| 国产成人午夜视频| 成人欧美一区二区三区黑人麻豆| 欧美亚洲高清一区| 久久国产成人午夜av影院| 日本一区二区三区视频视频| 色偷偷久久一区二区三区| 视频一区视频二区中文| 久久久久国色av免费看影院| 91片在线免费观看| 久久99精品国产.久久久久久| 中日韩免费视频中文字幕| 91国偷自产一区二区三区观看| 丝袜美腿亚洲一区二区图片| 国产亚洲一区二区三区| 欧美日韩在线直播| 国产一本一道久久香蕉| 亚洲狠狠爱一区二区三区| 久久午夜电影网| 欧美午夜免费电影| 国产精品一二三四五| 亚洲va国产天堂va久久en| 国产女人18毛片水真多成人如厕 | 国产一区二区三区美女| 一区二区激情小说| 国产亚洲精品aa午夜观看| 欧美午夜理伦三级在线观看| 国产成人免费在线观看不卡| 精品国产乱码久久久久久免费| 亚洲123区在线观看| 26uuu另类欧美| 欧美在线一二三| 粉嫩aⅴ一区二区三区四区五区 | 色婷婷av一区二区三区gif| 麻豆精品一区二区av白丝在线| 亚洲综合一二三区| 国产精品视频在线看| 欧美大片日本大片免费观看| 欧洲亚洲国产日韩| 成人高清视频在线| 国产精品一区二区你懂的| 日韩电影在线观看网站| 一区二区三区在线观看国产| 国产精品久久久久三级| 国产亚洲一区字幕| 久久你懂得1024| 精品少妇一区二区三区免费观看| 欧美日韩午夜精品| 91传媒视频在线播放| 91免费版在线| av在线这里只有精品| 成人v精品蜜桃久久一区| 国产在线精品免费| 久久激情五月激情| 精品一区二区久久久| 青娱乐精品视频在线| 婷婷久久综合九色国产成人| 午夜久久久久久| 亚洲成精国产精品女| 一区二区在线观看视频在线观看| 中文字幕日韩av资源站| 国产精品乱码妇女bbbb| 1000部国产精品成人观看| 亚洲国产经典视频| 中文字幕一区日韩精品欧美| 国产精品免费久久| 国产精品国产三级国产普通话99 | 伊人性伊人情综合网| 亚洲日本一区二区| 亚洲日本丝袜连裤袜办公室| 国产精品少妇自拍| 中文字幕一区不卡| 一区二区三区四区乱视频| 亚洲最色的网站| 视频一区二区中文字幕| 日本aⅴ亚洲精品中文乱码| 狠狠狠色丁香婷婷综合久久五月| 国产剧情在线观看一区二区| 高清视频一区二区| 91捆绑美女网站| 欧美日韩国产精品成人| 欧美大片免费久久精品三p| 精品欧美一区二区三区精品久久| 日韩精品影音先锋| 亚洲国产高清不卡| 亚洲综合丁香婷婷六月香| 日韩精品电影在线| 国产精品综合二区| 91久久香蕉国产日韩欧美9色| 欧美亚洲动漫精品| 欧美zozo另类异族| 中文字幕一区二区日韩精品绯色| 亚洲一区二区三区四区在线| 免费观看久久久4p| 成人精品免费看| 欧美日韩一区国产| 精品欧美乱码久久久久久 | 欧美日韩一区二区在线观看| 精品久久一区二区三区| 国产精品免费aⅴ片在线观看| 亚洲一区二区三区四区不卡| 久久成人18免费观看| 9l国产精品久久久久麻豆| 欧美撒尿777hd撒尿| 久久久久久久久久久电影| 亚洲综合精品自拍| 国产成人在线影院| 欧美色偷偷大香| 中文字幕乱码一区二区免费| 亚瑟在线精品视频| 成人高清视频在线| 日韩国产精品久久久久久亚洲| 亚洲人成电影网站色mp4| 免费人成精品欧美精品| 成人ar影院免费观看视频| 欧美日韩免费一区二区三区 | 免费观看在线色综合| 99精品偷自拍| 精品国产区一区| 亚洲sss视频在线视频| 国产91清纯白嫩初高中在线观看| 69精品人人人人| 亚洲另类一区二区| 国产iv一区二区三区| 日韩午夜在线观看| 亚洲一卡二卡三卡四卡五卡| kk眼镜猥琐国模调教系列一区二区| 日韩欧美国产三级| 香蕉加勒比综合久久| 色综合久久久久综合| 国产午夜一区二区三区| 免费在线观看视频一区| 色系网站成人免费| 一色屋精品亚洲香蕉网站| 国产麻豆精品视频| 日韩一二三区不卡| 亚洲第一二三四区| 91黄色在线观看| 日韩理论片网站| 成人动漫视频在线| 久久久久久免费毛片精品| 久久成人久久鬼色| 日韩欧美色综合网站| 日韩av成人高清| 欧美疯狂做受xxxx富婆| 亚洲成人福利片| 欧美写真视频网站| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲丶国产丶欧美一区二区三区| 色婷婷综合久久| 国产精品久久久久aaaa| 成人国产精品免费观看动漫| 欧美国产一区二区| 国产91精品欧美| 久久精品一二三| 成人黄动漫网站免费app| 中文字幕一区二区三区四区| 不卡av电影在线播放| 国产精品美女一区二区| 成人av影视在线观看| 亚洲国产精华液网站w| 成人a级免费电影| 婷婷亚洲久悠悠色悠在线播放| 欧美色爱综合网| 日韩精品国产精品| 久久久亚洲精品石原莉奈| 粉嫩久久99精品久久久久久夜| 中文字幕免费不卡在线| 99久免费精品视频在线观看 | 国产欧美精品国产国产专区| 国精产品一区一区三区mba视频| 精品国产sm最大网站免费看| 高清不卡一区二区在线| 亚洲伦理在线精品| 欧美欧美欧美欧美| 国产精品一二一区| 亚洲天堂免费在线观看视频| 欧美这里有精品| 麻豆成人91精品二区三区| 国产亚洲一区二区在线观看| 99热精品一区二区| 日韩黄色片在线观看| www日韩大片| 91丨porny丨户外露出| 青青青伊人色综合久久| 中文av一区特黄| 6080日韩午夜伦伦午夜伦| 成人激情电影免费在线观看|