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

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

?? zip.h

?? 是用MAPI 實現對OUTLOOK 收發郵件的監控
?? H
字號:
#ifndef _zip_H
#define _zip_H


// ZIP functions -- for creating zip files
// This file is a repackaged form of the Info-Zip source code available
// at www.info-zip.org. The original copyright notice may be found in
// zip.cpp. The repackaging was done by Lucian Wischik to simplify and
// extend its use in Windows/C++. Also to add encryption and unicode.


#ifndef _unzip_H
DECLARE_HANDLE(HZIP);
#endif
// An HZIP identifies a zip file that is being created

typedef DWORD ZRESULT;
// return codes from any of the zip functions. Listed later.



HZIP CreateZip(const TCHAR *fn, const char *password);
HZIP CreateZip(void *z,unsigned int len, const char *password);
HZIP CreateZip(HANDLE h, const char *password);
// CreateZip - call this to start the creation of a zip file.
// As the zip is being created, it will be stored somewhere:
// to a pipe:              CreateZip(hpipe_write);
// in a file (by handle):  CreateZip(hfile);
// in a file (by name):    CreateZip("c:\\test.zip");
// in memory:              CreateZip(buf, len);
// or in pagefile memory:  CreateZip(0, len);
// The final case stores it in memory backed by the system paging file,
// where the zip may not exceed len bytes. This is a bit friendlier than
// allocating memory with new[]: it won't lead to fragmentation, and the
// memory won't be touched unless needed. That means you can give very
// large estimates of the maximum-size without too much worry.
// As for the password, it lets you encrypt every file in the archive.
// (This api doesn't support per-file encryption.)
// Note: because pipes don't allow random access, the structure of a zipfile
// created into a pipe is slightly different from that created into a file
// or memory. In particular, the compressed-size of the item cannot be
// stored in the zipfile until after the item itself. (Also, for an item added
// itself via a pipe, the uncompressed-size might not either be known until
// after.) This is not normally a problem. But if you try to unzip via a pipe
// as well, then the unzipper will not know these things about the item until
// after it has been unzipped. Therefore: for unzippers which don't just write
// each item to disk or to a pipe, but instead pre-allocate memory space into
// which to unzip them, then either you have to create the zip not to a pipe,
// or you have to add items not from a pipe, or at least when adding items
// from a pipe you have to specify the length.
// Note: for windows-ce, you cannot close the handle until after CloseZip.
// but for real windows, the zip makes its own copy of your handle, so you
// can close yours anytime.


ZRESULT ZipAdd(HZIP hz,const TCHAR *dstzn, const TCHAR *fn);
ZRESULT ZipAdd(HZIP hz,const TCHAR *dstzn, void *src,unsigned int len);
ZRESULT ZipAdd(HZIP hz,const TCHAR *dstzn, HANDLE h);
ZRESULT ZipAdd(HZIP hz,const TCHAR *dstzn);
ZRESULT ZipAddSized(HZIP hz,const TCHAR *dstzn, HANDLE h, unsigned int len);
// ZipAdd - call this for each file to be added to the zip.
// dstzn is the name that the file will be stored as in the zip file.
// The file to be added to the zip can come
// from a pipe:  ZipAdd(hz,"file.dat", hpipe_read);
// from a file:  ZipAdd(hz,"file.dat", hfile);
// from a fname: ZipAdd(hz,"file.dat", "c:\\docs\\origfile.dat");
// from memory:  ZipAdd(hz,"subdir\\file.dat", buf,len);
// (folder):     ZipAdd(hz,"subdir");
// Note: if adding an item from a pipe, and if also creating the zip file itself
// to a pipe, then you might wish to pass a non-zero length to the ZipAddSized
// function. This will let the zipfile store the item's size ahead of the
// compressed item itself, which in turn makes it easier when unzipping the
// zipfile into a pipe.

ZRESULT ZipGetMemory(HZIP hz, void **buf, unsigned long *len);
// ZipGetMemory - If the zip was created in memory, via ZipCreate(0,len),
// then this function will return information about that memory block.
// buf will receive a pointer to its start, and len its length.
// Note: you can't add any more after calling this.

ZRESULT CloseZip(HZIP hz);
// CloseZip - the zip handle must be closed with this function.

unsigned int FormatZipMessage(ZRESULT code, TCHAR *buf,unsigned int len);
// FormatZipMessage - given an error code, formats it as a string.
// It returns the length of the error message. If buf/len points
// to a real buffer, then it also writes as much as possible into there.



// These are the result codes:
#define ZR_OK         0x00000000     // nb. the pseudo-code zr-recent is never returned,
#define ZR_RECENT     0x00000001     // but can be passed to FormatZipMessage.
// The following come from general system stuff (e.g. files not openable)
#define ZR_GENMASK    0x0000FF00
#define ZR_NODUPH     0x00000100     // couldn't duplicate the handle
#define ZR_NOFILE     0x00000200     // couldn't create/open the file
#define ZR_NOALLOC    0x00000300     // failed to allocate some resource
#define ZR_WRITE      0x00000400     // a general error writing to the file
#define ZR_NOTFOUND   0x00000500     // couldn't find that file in the zip
#define ZR_MORE       0x00000600     // there's still more data to be unzipped
#define ZR_CORRUPT    0x00000700     // the zipfile is corrupt or not a zipfile
#define ZR_READ       0x00000800     // a general error reading the file
// The following come from mistakes on the part of the caller
#define ZR_CALLERMASK 0x00FF0000
#define ZR_ARGS       0x00010000     // general mistake with the arguments
#define ZR_NOTMMAP    0x00020000     // tried to ZipGetMemory, but that only works on mmap zipfiles, which yours wasn't
#define ZR_MEMSIZE    0x00030000     // the memory size is too small
#define ZR_FAILED     0x00040000     // the thing was already failed when you called this function
#define ZR_ENDED      0x00050000     // the zip creation has already been closed
#define ZR_MISSIZE    0x00060000     // the indicated input file size turned out mistaken
#define ZR_PARTIALUNZ 0x00070000     // the file had already been partially unzipped
#define ZR_ZMODE      0x00080000     // tried to mix creating/opening a zip 
// The following come from bugs within the zip library itself
#define ZR_BUGMASK    0xFF000000
#define ZR_NOTINITED  0x01000000     // initialisation didn't work
#define ZR_SEEK       0x02000000     // trying to seek in an unseekable file
#define ZR_NOCHANGE   0x04000000     // changed its mind on storage, but not allowed
#define ZR_FLATE      0x05000000     // an internal error in the de/inflation code






// e.g.
//
// (1) Traditional use, creating a zipfile from existing files
//     HZIP hz = CreateZip("c:\\temp.zip",0);
//     ZipAdd(hz,"src1.txt",  "c:\\src1.txt");
//     ZipAdd(hz,"src2.bmp",  "c:\\src2_origfn.bmp");
//     CloseZip(hz);
//
// (2) Memory use, creating an auto-allocated mem-based zip file from various sources
//     HZIP hz = CreateZip(0,100000);
//     // adding a conventional file...
//     ZipAdd(hz,"src1.txt",  "c:\\src1.txt");
//     // adding something from memory...
//     char buf[1000]; for (int i=0; i<1000; i++) buf[i]=(char)(i&0x7F);
//     ZipAdd(hz,"file.dat",  buf,1000);
//     // adding something from a pipe...
//     HANDLE hread,hwrite; CreatePipe(&hread,&hwrite,NULL,0);
//     HANDLE hthread = CreateThread(ThreadFunc,(void*)hwrite);
//     ZipAdd(hz,"unz3.dat",  hread,1000);  // the '1000' is optional.
//     WaitForSingleObject(hthread,INFINITE);
//     CloseHandle(hthread); CloseHandle(hread);
//     ... meanwhile DWORD WINAPI ThreadFunc(void *dat)
//                   { HANDLE hwrite = (HANDLE)dat;
//                     char buf[1000]={17};
//                     DWORD writ; WriteFile(hwrite,buf,1000,&writ,NULL);
//                     CloseHandle(hwrite);
//                     return 0;
//                   }
//     // and now that the zip is created, let's do something with it:
//     void *zbuf; unsigned long zlen; ZipGetMemory(hz,&zbuf,&zlen);
//     HANDLE hfz = CreateFile("test2.zip",GENERIC_WRITE,CREATE_ALWAYS);
//     DWORD writ; WriteFile(hfz,zbuf,zlen,&writ,NULL);
//     CloseHandle(hfz);
//     CloseZip(hz);
//
// (3) Handle use, for file handles and pipes
//     HANDLE hzread,hzwrite; CreatePipe(&hzread,&hzwrite);
//     HANDLE hthread = CreateThread(ZipReceiverThread,(void*)hread);
//     HZIP hz = ZipCreate(hzwrite,0);
//     // ... add to it
//     CloseZip(hz);
//     CloseHandle(hzwrite);
//     WaitForSingleObject(hthread,INFINITE);
//     CloseHandle(hthread);
//     ... meanwhile DWORD CALLBACK ThreadFunc(void *dat)
//                   { HANDLE hread = (HANDLE)dat;
//                     char buf[1000];
//                     while (true)
//                     { DWORD red; ReadFile(hread,buf,1000,&red,NULL);
//                       // ... and do something with this zip data we're receiving
//                       if (red==0) break;
//                     }
//                     CloseHandle(hread);
//                     return 0;
//                   }
//


// Now we indulge in a little skullduggery so that the code works whether
// the user has included just zip or both zip and unzip.
// Idea: if header files for both zip and unzip are present, then presumably
// the cpp files for zip and unzip are both present, so we will call
// one or the other of them based on a dynamic choice. If the header file
// for only one is present, then we will bind to that particular one.
HZIP CreateZipZ(HANDLE h, const char *password);
HZIP CreateZipZ(const TCHAR *fn, const char *password);
HZIP CreateZipZ(void *z,unsigned int len, const char *password);
ZRESULT CloseZipZ(HZIP hz);
unsigned int FormatZipMessageZ(ZRESULT code, char *buf,unsigned int len);
bool IsZipHandleZ(HZIP hz);
#define CreateZip CreateZipZ
#ifdef _unzip_H
#undef CloseZip
#define CloseZip(hz) (IsZipHandleZ(hz)?CloseZipZ(hz):CloseZipU(hz))
#else
#define CloseZip CloseZipZ
#define FormatZipMessage FormatZipMessageZ
#endif



#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美r级在线观看| 国产成人一区在线| 欧美日韩久久久| 日韩中文字幕1| 日韩一区二区三区在线| 黑人精品欧美一区二区蜜桃| 久久久久久97三级| 91日韩一区二区三区| 亚洲午夜久久久久久久久电影网 | 成人精品电影在线观看| 亚洲欧美在线高清| 欧美伊人久久久久久久久影院| 日本在线观看不卡视频| 欧美精品一区二区三区蜜桃视频| 国产成a人无v码亚洲福利| 亚洲日本va在线观看| 欧美浪妇xxxx高跟鞋交| 国产乱色国产精品免费视频| 国产精品毛片a∨一区二区三区| 色综合中文综合网| 成人精品一区二区三区中文字幕| 亚洲人成网站色在线观看| 中文字幕日韩欧美一区二区三区| 久久九九99视频| 99久久国产综合精品女不卡| 亚洲一级电影视频| 欧美mv日韩mv| 波多野结衣欧美| 日本三级韩国三级欧美三级| 欧美精彩视频一区二区三区| 在线免费观看日本一区| 老司机精品视频在线| 亚洲欧美综合另类在线卡通| 8v天堂国产在线一区二区| 国产99一区视频免费| 亚洲18影院在线观看| 国产午夜精品理论片a级大结局| 在线欧美日韩精品| 国产盗摄视频一区二区三区| 日韩电影免费一区| 一区精品在线播放| 日韩视频免费观看高清在线视频| av在线不卡免费看| 黄色日韩网站视频| 一片黄亚洲嫩模| 国产精品久久毛片| 精品日韩av一区二区| 在线精品视频免费播放| 国产高清一区日本| 五月天视频一区| 一区二区三区视频在线看| 国产午夜精品一区二区三区嫩草 | 99国产精品99久久久久久| 美国十次综合导航| 亚洲va国产天堂va久久en| 国产精品护士白丝一区av| 精品国产一二三| 在线成人av影院| 欧美日韩小视频| 在线视频综合导航| 91蜜桃免费观看视频| 不卡一卡二卡三乱码免费网站| 久久国产成人午夜av影院| 日韩1区2区3区| 视频一区二区不卡| 午夜在线电影亚洲一区| 亚洲自拍都市欧美小说| 亚洲区小说区图片区qvod| 1000精品久久久久久久久| 中文字幕成人网| 国产欧美日韩三级| 国产亚洲欧美色| 国产三级欧美三级| 国产视频视频一区| 中文文精品字幕一区二区| 久久免费看少妇高潮| 精品乱人伦一区二区三区| 日韩精品一区二区三区四区视频| 日韩欧美专区在线| 久久欧美一区二区| 国产三区在线成人av| 国产精品毛片久久久久久| 国产精品福利影院| 亚洲狠狠丁香婷婷综合久久久| 亚洲精品中文在线影院| 亚洲小说春色综合另类电影| 亚洲3atv精品一区二区三区| 日本视频一区二区| 国产精品中文字幕日韩精品| 国产成人自拍在线| 色综合天天综合网国产成人综合天| 色婷婷综合久久久中文一区二区| 91久久一区二区| 5566中文字幕一区二区电影 | 欧美精选在线播放| 日韩欧美综合在线| 欧美国产成人精品| 亚洲欧美欧美一区二区三区| 亚洲18女电影在线观看| 久久精品国产亚洲a| 粉嫩av亚洲一区二区图片| 91亚洲精品久久久蜜桃网站| 欧美色国产精品| 精品999久久久| 中文字幕日韩一区| 日本va欧美va瓶| 高清av一区二区| 欧美中文字幕不卡| 亚洲精品一区二区三区香蕉| 亚洲男同1069视频| 精品亚洲国产成人av制服丝袜| 大桥未久av一区二区三区中文| 欧美在线|欧美| 久久午夜羞羞影院免费观看| 亚洲视频在线观看一区| 日本中文字幕不卡| 99国产精品久久久久久久久久 | 中文字幕不卡在线| 亚洲成人激情综合网| 国产精品1024| 欧美高清www午色夜在线视频| 国产视频一区在线播放| 午夜精品一区二区三区三上悠亚| 国产精品996| 337p亚洲精品色噜噜狠狠| 亚洲国产激情av| 日本视频一区二区| 日本高清不卡一区| 国产三级精品三级在线专区| 日韩电影免费一区| 色婷婷综合久久久久中文一区二区| 亚洲视频在线一区| 亚洲va国产va欧美va观看| 久久99精品视频| 色狠狠综合天天综合综合| 久久久久免费观看| 日韩综合在线视频| 91亚洲精品乱码久久久久久蜜桃| 久久久国产一区二区三区四区小说| 亚洲尤物在线视频观看| 成人美女视频在线看| 精品国产一区二区三区忘忧草| 亚洲成人av电影在线| 99久久精品99国产精品| 欧美激情在线一区二区三区| 男人操女人的视频在线观看欧美| 在线区一区二视频| 亚洲精品中文字幕乱码三区| jlzzjlzz欧美大全| 日本一区二区三区免费乱视频 | 久久精品一级爱片| 久久99久久久久久久久久久| 欧美高清视频www夜色资源网| 一区二区三区欧美久久| 99久久久久久| √…a在线天堂一区| 在线不卡a资源高清| 亚洲精品国产无套在线观 | 成人91在线观看| 久久久久久**毛片大全| 精品一区二区三区免费毛片爱| 欧美精品在线观看播放| 亚洲国产sm捆绑调教视频| 欧美影视一区在线| 亚洲综合在线视频| 91黄色激情网站| 亚洲第一会所有码转帖| 欧美丝袜丝nylons| 天堂精品中文字幕在线| 欧美日韩1234| 卡一卡二国产精品| 精品国产1区二区| 国产一区二区三区美女| 欧美激情在线一区二区三区| 成人福利电影精品一区二区在线观看| 国产精品人成在线观看免费| av中文字幕一区| 亚洲自拍欧美精品| 正在播放一区二区| 麻豆视频观看网址久久| 精品电影一区二区| 国产不卡视频在线播放| 国产精品久久久久久久久免费相片 | 成人精品鲁一区一区二区| 国产精品视频一区二区三区不卡| 99精品视频一区二区| 亚洲资源在线观看| 91精品黄色片免费大全| 国产一区二区三区日韩| 亚洲欧美偷拍三级| 欧美日韩一卡二卡三卡| 蜜桃视频一区二区三区| 国产偷v国产偷v亚洲高清| 91丝袜高跟美女视频| 日日摸夜夜添夜夜添亚洲女人| 久久女同精品一区二区| 色天使久久综合网天天| 蜜乳av一区二区| 成人免费一区二区三区在线观看| 欧美日韩一区二区电影|