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

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

?? readmc_dll.cpp

?? RTL8139 網卡驅動源碼 for WinCE.net CEPC
?? CPP
字號:
// ReadMC_dll.cpp : DLL 傾僾儕働乕僔儑儞梡偺僄儞僩儕 億僀儞僩傪掕媊偟傑偡丅
//

#include "stdafx.h"


#include  "pccard.h"
/* must be erase-block aligned for CardSoft */
#define	BUFFER_SIZE	(16*1024)

//#define	ENGLISH
#ifdef	ENGLISH
const char *FX_CSErrMsg [] =
{
	"",
	"Unsupported OS was encountered. The program can run only on Windows95/98.",
	"The card service handler was not found.",
	"The card service driver was not installed.",
	"Can not create the specified file.",
	"Can not register to the card service as a client.",
	"Can not find a memory card in any socket.",
	"MTD (Memory Technology Driver) was not installed.",
	"Can not obtain necessary information (CIS) of the card.",
	"Insufficient memory.",
	"Fail to read the contents of the card.",
	NULL
};

#define COMMAND_SYNTAX_ERROR	"Command Syntax Error.\n"
#define	USAGE					"Usage: readcard.exe path\\filename."
#define	ERROR2					"The content of the card is saved into the file: %s\n"
#define	CARDTYPE				"Card type: %s\n"
#define	CARDSIZE1				"Card size: %uMB\n"
#define	CARDSIZE2				"Card size: %luKB\n"

#else

const char *FX_CSErrMsg [] =
{
	"",
	"僒億乕僩偝傟側偄OS偱偡丅偙偺僾儘僌儔儉偼Windows2000/XP偱偺傒摦嶌偟傑偡丅",
	"僇乕僪僒乕價僗僴儞僪儔偑尒偮偐傝傑偣傫丅",
	"僇乕僪僒乕價僗僪儔僀僶偑僀儞僗僩乕儖偝傟偰偄傑偣傫丅",
	"巜掕偝傟偨僼傽僀儖傪嶌惉偡傞偙偲偑偱偒傑偣傫丅",
	"僋儔僀傾儞僩偲偟偰僇乕僪僒乕價僗偵搊榐偡傞偙偲偑偱偒傑偣傫丅",
	"僇乕僪僗儘僢僩偵儊儌儕僇乕僪偑尒偮偐傝傑偣傫丅",
	"MTD偑僀儞僗僩乕儖偝傟偰偄傑偣傫丅",
	" 僇乕僪偵娭偡傞忣曬(CIS)偑庢摼偱偒傑偣傫丅",
	"儊儌儕晄懌偱偡丅",
	"僇乕僪撉崬偵幐攕偟傑偟偨丅",
	NULL
};

typedef struct tagMediaTypeName
{
     CS_TYPE MediaType;
     LPCSTR  szMediaName;
} MediaTypeName;

MediaTypeName MediaNames[]= {{CSTYPE_ROM,      "ROM"},
                             {CSTYPE_OTPROM,   "OTPROM"},
                             {CSTYPE_EPROM,    "EPROM"},
                             {CSTYPE_EEPROM,   "EEPROM"},
                             {CSTYPE_FLASH,    "FLASH"},
                             {CSTYPE_SRAM,     "SRAM"},
                             {CSTYPE_DRAM,     "DRAM"},
                             {CSTYPE_FUNCSPEC, "FUNCSPEC"},
                             {CSTYPE_EXTENDED, "EXTENDED"},
                             {CSTYPE_ATA,      "ATA"},
                             {CSTYPE_NULL,     NULL}};

#define COMMAND_SYNTAX_ERROR	"僐儅儞僪峔暥偵岆傝偑桳傝傑偡丅\n"
#define	USAGE					"梡朄: readcard.exe 丂僼傽僀儖柤\n"
#define	ERROR2					"僼傽僀儖%s偵奿擺偟傑偟偨丅\n"
#define	CARDTYPE				"僇乕僪僞僀僾: %s\n"
#define	CARDSIZE1				"儊儌儕僒僀僘: %uMB\n"
#define	CARDSIZE2				"儊儌儕僒僀僘: %luKB\n"

#endif
enum 
{
	ERROR_OS					=1,
	ERROR_Card_Services_Handler	,
	ERROR_Card_Services_Driver	,
	ERROR_Create_File			,
	ERROR_Register_Client		,
	ERROR_NO_Memory_Card		,
	ERROR_Open_Memory			,
	ERROR_Insufficient_CIS		,
	ERROR_Not_Enough_Memory		,
	ERROR_ReadCard_Failure		
};

BYTE	*Buffer;

int Check_OS(void)
{
	DWORD dwVersion = GetVersion();
 
	// Get major and minor version numbers of Windows
	DWORD dwWindowsMajorVersion =  (DWORD)(LOBYTE(LOWORD(dwVersion)));
	DWORD dwWindowsMinorVersion =  (DWORD)(HIBYTE(LOWORD(dwVersion)));

	if(dwWindowsMajorVersion != 5 )
	{
		return ERROR_OS;
	}

	return 0;
}

int Check_File(char * filename)
{
	int		fd = -1;
	if ((fd = open 
		(filename, O_WRONLY | O_BINARY | O_CREAT | O_EXCL, 0644)) < 0)
	{
		return ERROR_Create_File;
	}
	close (fd);
	unlink(filename);
	return 0;
}

int	ReadCard(int Socket,int fd, DWORD start, DWORD end)
{
	struct
	{
		DWORD	CardOffset;
		DWORD	Count;
	} ReadMem;

	DWORD	result;
	DWORD	count;
	int		retcode = 0;

	lseek (fd, 0, SEEK_SET);
	for (ReadMem.CardOffset = start; ReadMem.CardOffset <= end ; 
		ReadMem.CardOffset += BUFFER_SIZE)
	{
		ReadMem.Count = BUFFER_SIZE;
		if (ReadMem.Count > end - ReadMem.CardOffset + 1)
			ReadMem.Count = end - ReadMem.CardOffset + 1;
		result = ReadMemoryRegion (Socket, ReadMem.CardOffset,ReadMem.Count);
		if (result != NOERROR)
		{
			retcode = -1;
		}
		count = write (fd, Buffer, (WORD) ReadMem.Count);
		if (count < 0)
		{
			retcode = -1;
			break;
		}
		if (count < ReadMem.Count)
		{
			retcode = -1;
			break;
		}
	}

	return retcode;
}

//
// Description: Main function of memory card reading 
// Processing Steps:
//	1 Load card service handler
// 	2 Check if Card Service is installed
//	3 Find a valid memory card in PCMCIA sockets
//	4 Obtain a MTD handle
//	5 Get the card information via CIS
//	6 Read the contents of the card  
// Return code:
//	 0	success
//	>0	error code	
int ReadCard(char * filename)
{
	int	return_code=0;
	int intR=0;
//	char p[512];
	DWORD	CardSize;

	struct GetStatus_s;
	WORD	Socket = 0xFFFF;
	DWORD   result;
	int		fd = -1;
	DWORD	start = 0, end = ULONG_MAX;

	CS_TYPE CardType;


//-------- Card_Check -----------------
	intR=CSOpen ();
	if ( intR!=0 )
	{
		return ERROR_NO_Memory_Card;
		//return ERROR_Card_Services_Handler;
	}

	result = CSGetCardServicesInfo();
	if (result != NOERROR)
	{
		CSClose ();
		return ERROR_Card_Services_Driver;
	}

	result = CSRegClient();
	if(result != NOERROR)
	{
		CSClose ();
		return ERROR_Register_Client;
	}

/*	result = CSDetectCard(Socket);
	if (result != NOERROR)
	{
		CSRelClient();
		CSClose ();
		return ERROR_NO_Memory_Card;
	}
*/
//-------- Get_Params -----------------
	result = GetParams (Socket,CardType,CardSize);
	if (result != NOERROR )
	{
		CSRelClient();
		CSClose ();
		return ERROR_Insufficient_CIS;
	}

//-------- Read_Card -----------------

	start = 0;
	end = CardSize - 1;

	if ((Buffer = (BYTE *)malloc (BUFFER_SIZE)) == NULL )
	{
		CSRelClient();
		CSClose ();
		return ERROR_Not_Enough_Memory;
	}

	if ((fd = open 
		(filename, O_WRONLY | O_BINARY | O_CREAT | O_EXCL, 0644)) < 0)
	{
		free( Buffer );
		CSRelClient();
		CSClose ();
		return ERROR_Create_File;
	}

	if (ReadCard (Socket,fd, start, end) < 0)
	{
		return_code = ERROR_ReadCard_Failure;
	}

	close (fd);	
	free( Buffer );
	CSRelClient();
	CSClose ();

	return return_code;
}

extern "C"  __declspec(dllexport) int ReadMC( char filename[] )
{
	int	return_code=0;

//-------- OS_Check -----------------
	if ( (return_code=Check_OS())!=0 ) {
		return return_code;
	}

//-------- File_Check -----------------
	if ( (return_code=Check_File(filename))!=0 ) {
		return return_code;
	}

//-------- Read_Memory_Card -----------------
	if ( (return_code=ReadCard( filename))!=0 ) {
		return return_code;
	}
	
	return return_code;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人小视频| 欧美日韩精品欧美日韩精品一综合 | 经典三级一区二区| 欧美sm极限捆绑bd| 国产91精品一区二区麻豆网站| 国产精品另类一区| 91麻豆国产福利在线观看| 亚洲高清视频中文字幕| 日本在线播放一区二区三区| 日韩欧美一二三四区| 国产精品白丝av| 亚洲欧美综合色| 欧美日韩精品免费| 九色porny丨国产精品| 国产日韩欧美精品综合| 91社区在线播放| 天天操天天干天天综合网| 午夜激情一区二区三区| 日韩亚洲欧美中文三级| 国产白丝网站精品污在线入口| 亚洲欧洲无码一区二区三区| 欧美日韩一区二区欧美激情 | 亚洲午夜久久久久久久久电影院 | 欧美一区二区三区公司| 国产一区在线不卡| 91在线免费看| 日本伊人午夜精品| 欧美高清在线一区| 欧美日韩黄视频| 国产精品一线二线三线精华| 亚洲精品国产品国语在线app| 在线播放日韩导航| 国产999精品久久| 亚洲国产一区二区视频| 久久伊99综合婷婷久久伊| 91丝袜美女网| 毛片av中文字幕一区二区| 国产精品拍天天在线| 欧美日韩成人在线一区| 国产宾馆实践打屁股91| 婷婷国产v国产偷v亚洲高清| 国产精品人成在线观看免费| 欧美日本一区二区| 成人av先锋影音| 美国三级日本三级久久99| 亚洲天堂2016| 精品国产sm最大网站免费看| 在线观看日韩电影| 久久网站热最新地址| 91久久香蕉国产日韩欧美9色| 韩日欧美一区二区三区| 一区二区三区四区视频精品免费 | 欧美国产1区2区| 在线综合视频播放| 99久久99精品久久久久久| 开心九九激情九九欧美日韩精美视频电影| 中文字幕在线一区| 精品国产不卡一区二区三区| 欧美探花视频资源| 成人黄动漫网站免费app| 免费高清在线一区| 亚洲在线视频网站| 亚洲欧洲无码一区二区三区| 精品福利二区三区| 欧美老年两性高潮| 一本色道亚洲精品aⅴ| 国产精品18久久久久| 日本sm残虐另类| 亚洲激情一二三区| 国产精品理论在线观看| 国产美女在线观看一区| 爽爽淫人综合网网站| 亚洲精选免费视频| 国产精品嫩草影院com| 精品欧美一区二区在线观看| 欧美日韩一区精品| 一本大道久久a久久综合婷婷| 国产成人精品www牛牛影视| 久久精品国产精品青草| 日韩综合在线视频| 亚洲成人综合在线| 一区二区三区高清不卡| 综合激情成人伊人| 国产精品久久影院| 国产亚洲婷婷免费| 久久综合av免费| 精品久久久久一区| 日韩美女天天操| 欧美一卡在线观看| 欧美猛男男办公室激情| 欧美亚洲禁片免费| 在线观看视频91| 欧洲一区二区三区在线| 91福利国产精品| 色偷偷久久一区二区三区| 亚洲色欲色欲www在线观看| 亚洲国产精品激情在线观看| 国产人成亚洲第一网站在线播放 | 亚洲444eee在线观看| 亚洲一区二区不卡免费| 亚洲一区电影777| 亚洲国产色一区| 亚洲第四色夜色| 五月天激情综合| 日本在线不卡视频| 蜜桃av一区二区| 久久激情五月激情| 黄色日韩网站视频| 国产一区二区福利视频| 国产一区二区成人久久免费影院 | 欧美日本一道本| 91麻豆精品国产91久久久资源速度| 欧美精品电影在线播放| 欧美一区日韩一区| 欧美一级黄色片| 精品国产一区二区三区不卡| 激情五月激情综合网| 精品一区二区在线视频| 国内精品写真在线观看| 国产美女久久久久| 成人av影视在线观看| 97久久精品人人做人人爽| 日本道在线观看一区二区| 欧美视频在线不卡| 欧美一级夜夜爽| 337p日本欧洲亚洲大胆精品| 久久精品一区四区| 中文字幕亚洲成人| 一区二区三区四区激情| 亚洲成av人影院| 久久成人免费网| 国产91精品入口| 在线观看日韩毛片| 日韩一级大片在线| 久久久91精品国产一区二区精品| 中文字幕一区免费在线观看| 夜夜嗨av一区二区三区中文字幕| 三级在线观看一区二区| 激情五月婷婷综合网| 波多野结衣一区二区三区| 色偷偷久久一区二区三区| 69成人精品免费视频| 久久这里只有精品视频网| 国产精品国模大尺度视频| 欧美三日本三级三级在线播放| 91精品国产高清一区二区三区| 精品蜜桃在线看| 一色屋精品亚洲香蕉网站| 午夜视频一区在线观看| 国内精品伊人久久久久影院对白| aaa欧美日韩| 欧美一区二区三区白人| 欧美激情资源网| 亚洲一区二区欧美激情| 国内成人自拍视频| 91色porny蝌蚪| 日韩视频免费直播| 国产精品白丝在线| 秋霞成人午夜伦在线观看| 懂色av一区二区三区免费观看 | 国产欧美精品一区二区三区四区 | 久久新电视剧免费观看| 椎名由奈av一区二区三区| 日韩精品一卡二卡三卡四卡无卡 | 国产乱人伦偷精品视频不卡 | 亚洲国产精品久久一线不卡| 黑人巨大精品欧美黑白配亚洲| 91女人视频在线观看| 日韩欧美国产系列| 亚洲欧洲成人自拍| 看电视剧不卡顿的网站| 色婷婷av一区| 2021中文字幕一区亚洲| 一个色妞综合视频在线观看| 国产一二三精品| 欧美日产在线观看| 国产精品久久网站| 免费成人你懂的| 色综合av在线| 久久亚洲春色中文字幕久久久| 亚洲国产日日夜夜| 成人蜜臀av电影| 日韩精品一区二区三区三区免费 | 亚洲18色成人| 成人app网站| 欧美zozo另类异族| 亚洲风情在线资源站| 成人福利电影精品一区二区在线观看| 91麻豆精品久久久久蜜臀| 亚洲男女一区二区三区| 国产老肥熟一区二区三区| 欧美精品一卡两卡| 91玉足脚交白嫩脚丫在线播放| 精品剧情v国产在线观看在线| 一区二区三区欧美久久| 成人午夜精品一区二区三区| 日韩女同互慰一区二区| 亚洲国产色一区| 色综合一区二区| 欧美日韩精品一区二区在线播放|