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

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

?? intrface.cpp

?? zip壓縮
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
/*  Copyright (c) 1990-2002 Info-ZIP.  All rights reserved.  See the accompanying file LICENSE, version 2000-Apr-09 or later  (the contents of which are also included in unzip.h) for terms of use.  If, for some reason, all these files are missing, the Info-ZIP license  also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html*///******************************************************************************//// File:        INTRFACE.CPP//// Description: This module acts as the interface between the Info-ZIP code and//              our Windows code in WINMAIN.CPP.  We expose the needed//              functions to query a file list, test file(s), extract file(s),//              and display a zip file comment.  The windows code is never//              bothered with understanding the Globals structure "Uz_Globs".////              This module also catches all the callbacks from the Info-ZIP//              code, cleans up the data provided in the callback, and then//              forwards the information to the appropriate function in the//              windows code.  These callbacks include status messages, file//              lists, comments, password prompt, and file overwrite prompts.////              Finally, this module implements the few functions that the//              Info-ZIP code expects the port to implement. These functions are//              OS dependent and are mostly related to validating file names and//              directories, and setting file attributes and dates of saved files.//// Copyright:   All the source files for Pocket UnZip, except for components//              written by the Info-ZIP group, are copyrighted 1997 by Steve P.//              Miller.  As of June 1999, Steve P. Miller has agreed to apply//              the Info-ZIP License (see citation on top of this module)//              to his work.  See the contents of this License for terms//              and conditon of using the product "Pocket UnZip".//// Disclaimer:  All project files are provided "as is" with no guarantee of//              their correctness.  The authors are not liable for any outcome//              that is the result of using this source.  The source for Pocket//              UnZip has been placed in the public domain to help provide an//              understanding of its implementation.  You are hereby granted//              full permission to use this source in any way you wish, except//              to alter Pocket UnZip itself.  For comments, suggestions, and//              bug reports, please write to stevemil@pobox.com or the Info-ZIP//              mailing list Zip-Bugs@lists.wku.edu.//// Functions:   DoListFiles//              DoExtractOrTestFiles//              DoGetComment//              SetExtractToDirectory//              InitGlobals//              FreeGlobals//              IsFileOrDirectory//              SmartCreateDirectory//              ExtractOrTestFilesThread//              CheckForAbort2//              SetCurrentFile//              UzpMessagePrnt2//              UzpInput2//              UzpMorePause//              UzpPassword//              UzpReplace//              UzpSound//              SendAppMsg//              win_fprintf//              mapattr//              utimeToFileTime//              GetFileTimes//              SetFileSize//              close_outfile//              do_wild//              mapname//              test_NT//              checkdir//              match//              iswild//              IsOldFileSystem//              conv_to_rule//              GetPlatformLocalTimezone////// Date      Name          History// --------  ------------  -----------------------------------------------------// 02/01/97  Steve Miller  Created (Version 1.0 using Info-ZIP UnZip 5.30)// 08/01/99  Johnny Lee, Christian Spieler, Steve Miller, and others//                         Adapted to UnZip 5.41 (Version 1.1)// 12/01/02  Chr. Spieler  Updated interface for UnZip 5.50////*****************************************************************************//*****************************************************************************// The following information and structure are here just for reference//*****************************************************************************//// The Windows CE version of Unzip builds with the following defines set://////    WIN32//    _WINDOWS//    UNICODE//    _UNICODE//    WIN32_LEAN_AND_MEAN//    STRICT////    POCKET_UNZIP         (Main define - Always set)////    UNZIP_INTERNAL//    WINDLL//    DLL//    REENTRANT//    USE_EF_UT_TIME//    NO_ZIPINFO//    NO_STDDEF_H//    NO_NTSD_EAS////    USE_SMITH_CODE       (optional - See COPYING document)//    USE_UNSHRINK         (optional - See COPYING document)////    DEBUG                (When building for Debug)//    _DEBUG               (When building for Debug)//    NDEBUG               (When building for Retail)//    _NDEBUG              (When building for Retail)////    _WIN32_WCE=100       (When building for Windows CE native)////****************************************************************************/extern "C" {#define __INTRFACE_CPP__#define UNZIP_INTERNAL#include "unzip.h"#include "crypt.h"     // Needed to pick up CRYPT define#include <commctrl.h>#include "intrface.h"#include "winmain.h"#ifndef _WIN32_WCE#include <process.h>   // _beginthreadex() and _endthreadex()#endif}#include <tchar.h> // Must be outside of extern "C" block//******************************************************************************//***** "Local" Global Variables//******************************************************************************static USERFUNCTIONS  g_uf;static EXTRACT_INFO  *g_pExtractInfo = NULL;static FILE_NODE     *g_pFileLast    = NULL;static CHAR           g_szExtractToDirectory[_MAX_PATH];static BOOL           g_fOutOfMemory;//******************************************************************************//***** Local Function Prototypes//******************************************************************************extern "C" {// Our exposed interface functions to the Info-ZIP core.BOOL DoListFiles(LPCSTR szZipFile);BOOL DoExtractOrTestFiles(LPCSTR szZipFile, EXTRACT_INFO *pei);BOOL DoGetComment(LPCSTR szFile);BOOL SetExtractToDirectory(LPTSTR szDirectory);// Internal functions.Uz_Globs* InitGlobals(LPCSTR szZipFile);void FreeGlobals(Uz_Globs *pG);int IsFileOrDirectory(LPCTSTR szPath);BOOL SmartCreateDirectory(Uz_Globs *pG, LPCSTR szDirectory);#ifdef _WIN32_WCEDWORD WINAPI ExtractOrTestFilesThread(LPVOID lpv);#elseunsigned __stdcall ExtractOrTestFilesThread(void *lpv);#endifvoid SetCurrentFile(Uz_Globs *pG);// Callbacks from Info-ZIP code.int UZ_EXP UzpMessagePrnt2(zvoid *pG, uch *buffer, ulg size, int flag);int UZ_EXP UzpInput2(zvoid *pG, uch *buffer, int *size, int flag);void UZ_EXP UzpMorePause(zvoid *pG, const char *szPrompt, int flag);int UZ_EXP UzpPassword(zvoid *pG, int *pcRetry, char *szPassword, int nSize,                       const char *szZipFile, const char *szFile);int UZ_EXP CheckForAbort2(zvoid *pG, int fnflag, ZCONST char *zfn,                          ZCONST char *efn, ZCONST zvoid *details);int WINAPI UzpReplace(LPSTR szFile);void WINAPI UzpSound(void);void WINAPI SendAppMsg(ulg dwSize, ulg dwCompressedSize, unsigned ratio,                       unsigned month, unsigned day, unsigned year,                       unsigned hour, unsigned minute, char uppercase,                       LPSTR szPath, LPSTR szMethod, ulg dwCRC, char chCrypt);int win_fprintf(zvoid *pG, FILE *file, unsigned int dwCount, char far *buffer);void WINAPI Wiz_NoPrinting(int f);// Functions that Info-ZIP expects the port to write and export.void utimeToFileTime(time_t ut, FILETIME *pft, BOOL fOldFileSystem);int GetFileTimes(Uz_Globs *pG, FILETIME *pftCreated, FILETIME *pftAccessed,                 FILETIME *pftModified);int mapattr(Uz_Globs *pG);void close_outfile(Uz_Globs *pG);char* do_wild(Uz_Globs *pG, ZCONST char *wildspec);int mapname(Uz_Globs *pG, int renamed);int test_NT(Uz_Globs *pG, uch *eb, unsigned eb_size);int checkdir(Uz_Globs *pG, char *pathcomp, int flag);// Check for FAT, VFAT, HPFS, etc.BOOL IsOldFileSystem(char *szPath);} // extern "C"//******************************************************************************//***** Our exposed interface functions to the Info-ZIP core//******************************************************************************int DoListFiles(LPCSTR szZipFile) {   int result;   // Create our Globals struct and fill it in whith some default values.   Uz_Globs *pG = InitGlobals(szZipFile);   if (!pG) {      return PK_MEM;   }   pG->UzO.vflag = 1; // verbosely: list directory (for WIN32 it is 0 or 1)   pG->process_all_files = TRUE; // improves speed   g_pFileLast = NULL;   g_fOutOfMemory = FALSE;   // We wrap some exception handling around the entire Info-ZIP engine to be   // safe.  Since we are running on a device with tight memory configurations,   // all sorts of problems can arise when we run out of memory.   __try {      // Call the unzip routine.  We will catch the file information in a      // callback to SendAppMsg().      result = process_zipfiles(pG);      // Make sure we didn't run out of memory in the process.      if (g_fOutOfMemory) {         result = PK_MEM;      }   } __except(EXCEPTION_EXECUTE_HANDLER) {      // Catch any exception here.      DebugOut(TEXT("Exception 0x%08X occurred in DoListFiles()"),               GetExceptionCode());      result = PK_EXCEPTION;   }   g_pFileLast = NULL;   // It is possible that the ZIP engine change the file name a bit (like adding   // a ".zip" if needed).  If so, we will pick up the new name.   if ((result != PK_EXCEPTION) && pG->zipfn && *pG->zipfn) {      strcpy(g_szZipFile, pG->zipfn);   }   // Free our globals.   FreeGlobals(pG);   return result;}//******************************************************************************BOOL DoExtractOrTestFiles(LPCSTR szZipFile, EXTRACT_INFO *pei) {   // WARNING!!!  This functions hands the EXTRACT_INFO structure of to a thread   // to perform the actual extraction/test.  When the thread is done, it will   // send a message to the progress dialog.  The calling function must not   // delete the EXTRAT_INFO structure until it receives the message.  Currently,   // this is not a problem for us since the structure lives on the stack of the   // calling thread.  The calling thread then displays a dialog that blocks the   // calling thread from clearing the stack until the dialog is dismissed, which   // occurs when the dialog receives the message.   // Create our globals so we can store the file name.   Uz_Globs *pG = InitGlobals(szZipFile);   if (!pG) {      pei->result = PK_MEM;      SendMessage(g_hDlgProgress, WM_PRIVATE, MSG_OPERATION_COMPLETE, (LPARAM)pei);      return FALSE;   }   // Store a global pointer to the Extract structure so it can be reached from   // our thread and callback functions.   g_pExtractInfo = pei;   // Spawn our thread   DWORD dwThreadId;   HANDLE hThread;#ifdef _WIN32_WCE   // On CE, we use good old CreateThread() since the WinCE CRT does not   // allocate per-thread storage.   hThread = CreateThread(NULL, 0, ExtractOrTestFilesThread, pG, 0, &dwThreadId);#else   // On NT, we need use the CRT's thread function so that we don't leak any   // CRT allocated memory when the thread exits.   hThread = (HANDLE)_beginthreadex(NULL, 0, ExtractOrTestFilesThread, pG, 0,                                    (unsigned*)&dwThreadId);#endif   // Bail out if our thread failed to create.   if (!hThread) {      DebugOut(TEXT("CreateThread() failed [%u]"), GetLastError());      // Set our error as a memory error.      g_pExtractInfo->result = PK_MEM;      // Free our globals.      FreeGlobals(pG);      // Tell the progress dialog that we are done.      SendMessage(g_hDlgProgress, WM_PRIVATE, MSG_OPERATION_COMPLETE, (LPARAM)pei);      g_pExtractInfo = NULL;      return FALSE;   }   // Close our thread handle since we have no use for it.   CloseHandle(hThread);   return TRUE;}//******************************************************************************int DoGetComment(LPCSTR szFile) {   int result;   // Create our Globals struct and fill it in whith some default values.   Uz_Globs *pG = InitGlobals(szFile);   if (!pG) {      return PK_MEM;   }   pG->UzO.zflag = TRUE; // display the zipfile comment   // We wrap some exception handling around the entire Info-ZIP engine to be   // safe.  Since we are running on a device with tight memory configurations,   // all sorts of problems can arise when we run out of memory.   __try {      // Call the unzip routine.  We will catch the comment string in a callback      // to win_fprintf().      result = process_zipfiles(pG);   } __except(EXCEPTION_EXECUTE_HANDLER) {      // Catch any exception here.      DebugOut(TEXT("Exception 0x%08X occurred in DoGetComment()"),               GetExceptionCode());      result = PK_EXCEPTION;   }   // Free our globals.   FreeGlobals(pG);   return result;}//******************************************************************************BOOL SetExtractToDirectory(LPTSTR szDirectory) {   BOOL fNeedToAddWack = FALSE;   // Remove any trailing wack from the path.   int length = _tcslen(szDirectory);   if ((length > 0) && (szDirectory[length - 1] == TEXT('\\'))) {      szDirectory[--length] = TEXT('\0');      fNeedToAddWack = TRUE;   }#ifndef _WIN32_WCE   // Check to see if a root directory was specified.   if ((length == 2) && isalpha(szDirectory[0]) && (szDirectory[1] == ':')) {      // If just a root is specified, we need to only verify the drive letter.      if (!(GetLogicalDrives() & (1 << (tolower(szDirectory[0]) - (int)'a')))) {         // This drive does not exist.  Bail out with a failure.         return FALSE;      }   } else#endif   // We only verify path if length is >0 since we know "\" is valid.   if (length > 0) {      // Verify the the path exists and that it is a directory.      if (IsFileOrDirectory(szDirectory) != 2) {         return FALSE;      }   }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区三区网站 | jizzjizzjizz欧美| 成人av免费网站| 色av成人天堂桃色av| 欧美日韩日本视频| xfplay精品久久| 国产精品国产三级国产aⅴ中文| 一区二区三区高清| 久久99久久久久| 99综合影院在线| 91精品国产高清一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 国产精品乱人伦中文| 午夜精品久久久久| 国产一区二区三区蝌蚪| 欧美在线一区二区| 久久在线观看免费| 一级中文字幕一区二区| 国产真实乱偷精品视频免| 91极品视觉盛宴| 精品粉嫩超白一线天av| 亚洲一区二区中文在线| 国产精品1区二区.| 欧美猛男超大videosgay| 欧美国产一区二区| 日本大胆欧美人术艺术动态| 成人av电影在线网| 日韩视频永久免费| 亚洲一区二三区| 成人精品高清在线| 中文字幕一区二区三区不卡| 久久久国产午夜精品| 亚洲男人的天堂网| 狠狠狠色丁香婷婷综合激情| 欧美亚洲一区二区在线| 日本一区二区三级电影在线观看| 日韩一区精品视频| 色诱视频网站一区| 国产女人18毛片水真多成人如厕| 日韩国产欧美三级| 在线观看免费视频综合| 亚洲国产精品v| 久久国产夜色精品鲁鲁99| 在线视频国内自拍亚洲视频| 亚洲国产成人私人影院tom| 美女精品自拍一二三四| 在线影视一区二区三区| 国产女同性恋一区二区| 精品午夜一区二区三区在线观看| 欧美日韩一区二区在线视频| 亚洲素人一区二区| 丁香天五香天堂综合| 精品国产免费人成在线观看| 欧美aaaaaa午夜精品| 欧美三级日韩在线| 一区二区三区在线影院| 本田岬高潮一区二区三区| 久久久久久久久久久久电影| 毛片av中文字幕一区二区| 欧美日韩国产一级| 亚洲一区二区视频在线| 色成年激情久久综合| 亚洲欧美另类小说| 成人免费毛片嘿嘿连载视频| 91国偷自产一区二区三区观看| 久久香蕉国产线看观看99| 日韩精品91亚洲二区在线观看| 91免费看`日韩一区二区| 国产欧美一区二区三区沐欲| 国产另类ts人妖一区二区| 亚洲精品一区二区三区香蕉| 蜜臀av性久久久久蜜臀aⅴ| 欧美精品123区| 日韩在线一区二区三区| 在线播放中文字幕一区| 丝袜国产日韩另类美女| 欧美猛男超大videosgay| 午夜精品久久久久久不卡8050| 欧美日韩免费一区二区三区| 性久久久久久久久| 色欧美乱欧美15图片| 亚洲人成亚洲人成在线观看图片 | 成人av免费在线播放| 国产精品毛片无遮挡高清| 99久久综合国产精品| 国产精品传媒入口麻豆| 91官网在线免费观看| 亚洲午夜电影在线| 56国语精品自产拍在线观看| 亚洲综合一区在线| 精品国产在天天线2019| 美女看a上一区| 欧美精品一区二区三区很污很色的 | 奇米影视一区二区三区| 日韩精品专区在线影院观看| 国产精品 日产精品 欧美精品| 久久久久99精品一区| 成年人国产精品| 一区二区三区免费观看| 91麻豆精品国产自产在线观看一区 | 91小宝寻花一区二区三区| 亚洲综合久久久| 日韩欧美一二区| 国产69精品久久99不卡| 一区二区三区高清不卡| 欧美一级黄色片| 国产一区二区三区日韩 | 91国偷自产一区二区开放时间| 午夜精品成人在线视频| 精品国产精品一区二区夜夜嗨| 国产成人夜色高潮福利影视| 亚洲色图视频网站| 91精品国产一区二区三区蜜臀| 日韩精品国产欧美| 视频一区二区欧美| 精品乱码亚洲一区二区不卡| 东方aⅴ免费观看久久av| 亚洲一区二区精品久久av| 日韩女优视频免费观看| 成人a区在线观看| 亚洲国产一区二区三区| 国产午夜精品一区二区三区四区| 91视频在线看| 久久99国产精品免费网站| 一区在线观看免费| 日韩欧美中文字幕精品| 99亚偷拍自图区亚洲| 捆绑紧缚一区二区三区视频| 中文字幕人成不卡一区| 日韩一区二区高清| 91污片在线观看| 国产一区激情在线| 亚洲美女淫视频| 久久先锋影音av| 欧美性色aⅴ视频一区日韩精品| 国产一区二区免费看| 亚洲成人在线免费| 国产精品久久久久久久第一福利 | 日韩黄色免费网站| 一色屋精品亚洲香蕉网站| 精品国产乱码久久久久久免费 | 午夜精品久久久久久久久| 国产精品免费视频观看| 日韩精品一区二区三区中文不卡| 欧美在线免费播放| 丁香婷婷深情五月亚洲| 麻豆精品一区二区av白丝在线| 亚洲免费观看在线视频| 国产色产综合产在线视频| 欧美一区二区私人影院日本| 91日韩在线专区| 国产成人福利片| 黑人巨大精品欧美一区| 婷婷综合五月天| 亚洲另类春色校园小说| 欧美激情自拍偷拍| 欧美va亚洲va在线观看蝴蝶网| 欧美性大战久久久久久久蜜臀| 不卡区在线中文字幕| 国产一区二区三区国产| 另类小说综合欧美亚洲| 水野朝阳av一区二区三区| 亚洲五码中文字幕| 一区二区三区欧美日| 中文字幕日韩一区| 国产精品美女www爽爽爽| 日本一区二区三区国色天香| 久久毛片高清国产| 欧美大胆人体bbbb| 日韩欧美资源站| 日韩欧美自拍偷拍| 日韩三级视频中文字幕| 欧美一级片在线| 欧美一区二区三区在线| 在线成人小视频| 欧美日韩国产首页在线观看| 欧美亚洲一区二区在线| 欧美日韩一本到| 欧美日韩中文字幕一区二区| 色8久久人人97超碰香蕉987| 91视频免费播放| 91免费看片在线观看| 色香蕉成人二区免费| 色国产综合视频| 欧美视频在线观看一区二区| 欧美日韩视频在线第一区| 欧美精品在线视频| 91精品国产综合久久福利软件| 欧美一区二区三区免费在线看| 91精品国产综合久久国产大片 | 美国三级日本三级久久99 | 日韩免费成人网| 欧美大片在线观看| www欧美成人18+| 国产免费观看久久| 国产精品美女www爽爽爽| 亚洲欧美日韩在线| 亚洲成在人线免费| 美腿丝袜亚洲色图| 国产成人午夜精品影院观看视频|