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

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

?? cbinfile.h

?? <Visual C++ 網絡程序設計實例詳解>配套源碼
?? H
字號:
/*
	CBinFile.h
	Classe base per files binari (SDK).
	Luca Piergentili, 31/08/98
	lpiergentili@yahoo.com
	http://www.geocities.com/lpiergentili/
*/
#ifndef _CBINFILE_H
#define _CBINFILE_H 1

#include "window.h"

// access type
#define GENERIC_QUERY	0 // Specifies device query access to the object. An application can query device attributes without accessing the device.
//GENERIC_READ			Specifies read access to the object. Data can be read from the file and the file pointer can be moved. Combine with GENERIC_WRITE for read-write access.
//GENERIC_WRITE		Specifies write access to the object. Data can be written to the file and the file pointer can be moved. Combine with GENERIC_READ for read-write access.

// share mode
//FILE_SHARE_DELETE		Windows NT only: Subsequent open operations on the object will succeed only if delete access is requested. 
//FILE_SHARE_READ		Subsequent open operations on the object will succeed only if read access is requested. 
//FILE_SHARE_WRITE		Subsequent open operations on the object will succeed only if write access is requested.
// W95
#define FILE_SHARE		(FILE_SHARE_READ|FILE_SHARE_WRITE)
// WNT
//#define FILE_SHARE	(FILE_SHARE_DELETE|FILE_SHARE_READ|FILE_SHARE_WRITE)
#define FILE_EXCLUSIVE	0
 
// create mode
//CREATE_NEW			Creates a new file. The function fails if the specified file already exists.
//CREATE_ALWAYS		Creates a new file. The function overwrites the file if it exists.
//OPEN_EXISTING		Opens the file. The function fails if the file does not exist. See the Remarks section for a discussion of why you should use the OPEN_EXISTING flag if you are using the CreateFile function for devices, including the console.
//OPEN_ALWAYS			Opens the file, if it exists. If the file does not exist, the function creates the file as if dwCreationDistribution were CREATE_NEW.
//TRUNCATE_EXISTING		Opens the file. Once opened, the file is truncated so that its size is zero bytes. The calling process must open the file with at least GENERIC_WRITE access. The function fails if the file does not exist.

// attribute
//FILE_ATTRIBUTE_ARCHIVE		The file should be archived. Applications use this attribute to mark files for backup or removal.
//FILE_ATTRIBUTE_COMPRESSED	The file or directory is compressed. For a file, this means that all of the data in the file is compressed. For a directory, this means that compression is the default for newly created files and subdirectories.
//FILE_ATTRIBUTE_HIDDEN		The file is hidden. It is not to be included in an ordinary directory listing.
//FILE_ATTRIBUTE_NORMAL		The file has no other attributes set. This attribute is valid only if used alone.
//FILE_ATTRIBUTE_OFFLINE		The data of the file is not immediately available. Indicates that the file data has been physically moved to offline storage.
//FILE_ATTRIBUTE_READONLY	The file is read only. Applications can read the file but cannot write to it or delete it.
//FILE_ATTRIBUTE_SYSTEM		The file is part of or is used exclusively by the operating system.
//FILE_ATTRIBUTE_TEMPORARY	The file is being used for temporary storage. File systems attempt to keep all of the data in memory for quicker access rather than flushing the data back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed.

// ofs:pos (lseek)
#define FILE_EOF	((DWORD)-1)
//FILE_BEGIN		The starting point is zero or the beginning of the file. If FILE_BEGIN is specified, DistanceToMove is interpreted as an unsigned location for the new file pointer.
//FILE_CURRENT		The current value of the file pointer is the starting point.
//FILE_END		The current end-of-file position is the starting point.

#define MAX_ERR_STRING 256

class CBinFile
{
public:
	CBinFile();
	virtual ~CBinFile();

	BOOL			Open				(LPCSTR lpcszFileName,BOOL bCreateIfNotExist = TRUE,DWORD dwAccessMode = GENERIC_READ|GENERIC_WRITE,DWORD dwShareMode = FILE_SHARE);
	BOOL			Create			(LPCSTR lpcszFileName,DWORD dwAccessMode = GENERIC_READ|GENERIC_WRITE,DWORD dwShareMode = FILE_SHARE,DWORD dwAttribute = FILE_ATTRIBUTE_NORMAL);
	DWORD		Read				(LPVOID lpBuffer,DWORD dwToRead);
	DWORD		Write			(LPCVOID lpcBuffer,DWORD dwToWrite);
	DWORD		Seek				(LONG lOffset,DWORD dwOrigin);
	inline DWORD	GetFileOffset		(void)		{return(CBinFile::Seek(0L,0L));}
	inline DWORD	GetFileSize		(void)		{return(m_hHandle!=INVALID_HANDLE_VALUE ? ::GetFileSize(m_hHandle,NULL) : 0L);}
	BOOL			Close			(void);
	inline BOOL	IsOpen			(void)		{return((m_hHandle!=INVALID_HANDLE_VALUE));}
	inline DWORD	GetLastErrorCode	(void)		{return(m_dwError);}
	inline LPCSTR	GetLastErrorString	(void)		{return(m_szError);}
	inline void	ShowErrors		(BOOL bFlag)	{m_bShowErrors = bFlag;}

protected:
	void			SetLastErrorCode	(DWORD);

	BOOL			m_bShowErrors;
	HANDLE		m_hHandle;
	DWORD		m_dwError;
	char			m_szFileName[_MAX_PATH+1];
	char			m_szError[MAX_ERR_STRING+1];
};

#endif // _CBINFILE

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲美女精品一区| 国产精品理伦片| 日本成人在线网站| 日韩一级免费一区| 国产精品亚洲一区二区三区在线 | 福利一区二区在线观看| 久久久久久久性| 成人福利电影精品一区二区在线观看| 日韩理论电影院| 欧美一区二区免费视频| 蜜臀va亚洲va欧美va天堂| 久久网这里都是精品| 懂色av一区二区三区蜜臀| 亚洲男人的天堂在线观看| 欧美肥妇毛茸茸| 国产精品69久久久久水密桃| 中文字幕视频一区二区三区久| 精品视频在线视频| 国产精品一二三区在线| 一区二区三区日本| 精品国一区二区三区| 99久久精品久久久久久清纯| 日韩高清电影一区| 国产精品欧美久久久久无广告| 欧美日韩一区二区三区视频| 国产一区二区不卡在线| 亚洲一区二区av电影| 久久天天做天天爱综合色| 在线视频一区二区三| 国产一区在线精品| 亚洲一区二区三区国产| 中文字幕二三区不卡| 91精品国产色综合久久ai换脸 | 蜜桃av噜噜一区二区三区小说| 中文字幕国产一区| 日韩一区二区影院| 欧美在线影院一区二区| 国产精品一区久久久久| 天天色天天爱天天射综合| 国产精品人妖ts系列视频| 欧美一区二区播放| 色婷婷av久久久久久久| 国产精品亚洲第一| 日韩电影在线观看网站| 亚洲精品视频一区| 国产农村妇女毛片精品久久麻豆| 91精品国产综合久久久久久久 | 视频精品一区二区| 亚洲欧美视频在线观看视频| 国产婷婷色一区二区三区| 777久久久精品| 欧美伊人久久久久久久久影院 | 欧美不卡一二三| 欧美日韩免费视频| 色成人在线视频| 成人a免费在线看| 国产精品一区二区久久不卡 | 欧美成人精品福利| 3d动漫精品啪啪一区二区竹菊| 在线精品视频免费观看| www.日韩av| 高清不卡一区二区| 国产91精品在线观看| 国产自产v一区二区三区c| 蜜臀精品一区二区三区在线观看 | 午夜精品福利视频网站| 一区二区理论电影在线观看| 亚洲美女在线国产| 亚洲美女少妇撒尿| 一区二区三区电影在线播| 亚洲人成伊人成综合网小说| 亚洲图片另类小说| 亚洲日本免费电影| 亚洲精品亚洲人成人网在线播放| 亚洲丝袜制服诱惑| 亚洲男人的天堂在线aⅴ视频| 亚洲欧美一区二区三区孕妇| 亚洲精品日韩专区silk| 一区二区三区欧美久久| 亚洲bt欧美bt精品| 日韩制服丝袜av| 麻豆精品一区二区综合av| 美女视频黄a大片欧美| 韩国女主播一区二区三区| 国产精品一区在线| 99re在线精品| 欧美性一级生活| 91精品国产欧美一区二区18| 精品成人一区二区三区| 国产精品视频一二三| 亚洲免费毛片网站| 五月综合激情婷婷六月色窝| 久久99国产精品尤物| 国产成人av影院| 色婷婷综合视频在线观看| 欧美性猛片aaaaaaa做受| 欧美一区二区在线免费播放| 欧美电视剧在线看免费| 中文在线一区二区| 亚洲国产视频直播| 精品无人码麻豆乱码1区2区 | 国产成人精品免费网站| 色婷婷综合久色| 日韩欧美精品在线| 国产精品美女久久久久久久久 | 4438x亚洲最大成人网| 久久一留热品黄| 亚洲欧美一区二区久久| 蜜臀av性久久久久av蜜臀妖精 | 亚洲午夜一二三区视频| 久久99热狠狠色一区二区| jlzzjlzz亚洲日本少妇| 欧美日韩国产天堂| 国产午夜精品久久久久久免费视| 亚洲欧美日韩小说| 男男视频亚洲欧美| 91丨porny丨在线| 欧美一二三四区在线| 亚洲婷婷在线视频| 精品一区二区三区在线播放| 91久久香蕉国产日韩欧美9色| 欧美精品一区二区久久久| 亚洲激情自拍偷拍| 国产成人在线视频免费播放| 6080日韩午夜伦伦午夜伦| 国产女主播一区| 免费观看一级特黄欧美大片| 91麻豆swag| 国产亚洲成av人在线观看导航| 午夜精品久久久久久久99樱桃| 国产91清纯白嫩初高中在线观看| 欧美一区二区三区免费大片| 亚洲人吸女人奶水| 懂色av噜噜一区二区三区av| 日韩精品一区二区三区老鸭窝| 亚洲午夜精品久久久久久久久| 成人ar影院免费观看视频| 欧美成人精品福利| 性欧美大战久久久久久久久| 色综合久久久久网| 欧美国产精品一区二区| 国产在线精品视频| 欧美一区二区视频在线观看2020| 亚洲激情综合网| 色悠悠久久综合| 一区二区中文视频| 成人高清免费在线播放| 久久久99精品免费观看不卡| 免费久久99精品国产| 欧美男生操女生| 午夜久久久影院| 欧美三级乱人伦电影| 亚洲激情六月丁香| 91视频在线观看免费| 中文字幕久久午夜不卡| 国产成人精品免费| 亚洲国产精品成人综合色在线婷婷 | 成人av资源在线| 国产精品久久久久久一区二区三区| 国产精品综合av一区二区国产馆| 精品1区2区在线观看| 麻豆成人免费电影| 精品日韩在线观看| 国内精品伊人久久久久av影院 | 在线不卡免费av| 舔着乳尖日韩一区| 欧美一个色资源| 国产在线不卡视频| 中文字幕免费在线观看视频一区| 国产成人av一区| 一区在线观看免费| 91在线视频免费91| 亚洲精品国产a久久久久久| 在线视频国内自拍亚洲视频| 亚洲成人动漫av| 日韩精品资源二区在线| 国产老妇另类xxxxx| 国产欧美一区二区精品久导航| 成人精品视频一区| 亚洲精品亚洲人成人网在线播放| 欧美色精品在线视频| 日本强好片久久久久久aaa| 337p日本欧洲亚洲大胆精品| 粉嫩高潮美女一区二区三区| 亚洲情趣在线观看| 欧美人牲a欧美精品| 韩国v欧美v亚洲v日本v| 亚洲欧洲三级电影| 欧美唯美清纯偷拍| 国内精品伊人久久久久影院对白| 亚洲国产精品成人综合| 日本高清视频一区二区| 麻豆国产精品一区二区三区| 国产午夜精品美女毛片视频| 91色九色蝌蚪| 美女国产一区二区| 国产精品热久久久久夜色精品三区 | 国产亚洲福利社区一区| 在线视频观看一区| 激情五月婷婷综合|