13b7203622 2011-02-23 kinaba: //--- K.I.LIB --- 13b7203622 2011-02-23 kinaba: // kl_carc.h : handling "common archivers' dll" 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #ifndef AFX_KIARCDLLRAW_H__C94DE2A0_4292_49CE_8471_2CAA1340D216__INCLUDED_ 13b7203622 2011-02-23 kinaba: #define AFX_KIARCDLLRAW_H__C94DE2A0_4292_49CE_8471_2CAA1340D216__INCLUDED_ 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ 13b7203622 2011-02-23 kinaba: // 統合アーカイバDLL共通の定義 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // FNAME_MAX 13b7203622 2011-02-23 kinaba: #if !defined(FNAME_MAX32) 13b7203622 2011-02-23 kinaba: #define FNAME_MAX32 512 13b7203622 2011-02-23 kinaba: #define FNAME_MAX FNAME_MAX32 13b7203622 2011-02-23 kinaba: #else 13b7203622 2011-02-23 kinaba: #if !defined(FNAME_MAX) 13b7203622 2011-02-23 kinaba: #define FNAME_MAX 128 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // CHECKARCHIVE 13b7203622 2011-02-23 kinaba: #if !defined(CHECKARCHIVE_RAPID) 13b7203622 2011-02-23 kinaba: #define CHECKARCHIVE_RAPID 0 13b7203622 2011-02-23 kinaba: #define CHECKARCHIVE_BASIC 1 13b7203622 2011-02-23 kinaba: #define CHECKARCHIVE_FULLCRC 2 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // ISARC 13b7203622 2011-02-23 kinaba: #if !defined(ISARC_FUNCTION_START) 13b7203622 2011-02-23 kinaba: #define ISARC_FUNCTION_START 0 13b7203622 2011-02-23 kinaba: #define ISARC 0 13b7203622 2011-02-23 kinaba: #define ISARC_GET_VERSION 1 13b7203622 2011-02-23 kinaba: #define ISARC_GET_CURSOR_INTERVAL 2 13b7203622 2011-02-23 kinaba: #define ISARC_SET_CURSOR_INTERVAL 3 13b7203622 2011-02-23 kinaba: #define ISARC_GET_BACK_GROUND_MODE 4 13b7203622 2011-02-23 kinaba: #define ISARC_SET_BACK_GROUND_MODE 5 13b7203622 2011-02-23 kinaba: #define ISARC_GET_CURSOR_MODE 6 13b7203622 2011-02-23 kinaba: #define ISARC_SET_CURSOR_MODE 7 13b7203622 2011-02-23 kinaba: #define ISARC_GET_RUNNING 8 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #define ISARC_CHECK_ARCHIVE 16 13b7203622 2011-02-23 kinaba: #define ISARC_CONFIG_DIALOG 17 13b7203622 2011-02-23 kinaba: #define ISARC_GET_FILE_COUNT 18 13b7203622 2011-02-23 kinaba: #define ISARC_QUERY_FUNCTION_LIST 19 13b7203622 2011-02-23 kinaba: #define ISARC_HOUT 20 13b7203622 2011-02-23 kinaba: #define ISARC_STRUCTOUT 21 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_FILE_INFO 22 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #define ISARC_OPEN_ARCHIVE 23 13b7203622 2011-02-23 kinaba: #define ISARC_CLOSE_ARCHIVE 24 13b7203622 2011-02-23 kinaba: #define ISARC_FIND_FIRST 25 13b7203622 2011-02-23 kinaba: #define ISARC_FIND_NEXT 26 13b7203622 2011-02-23 kinaba: #define ISARC_EXTRACT 27 13b7203622 2011-02-23 kinaba: #define ISARC_ADD 28 13b7203622 2011-02-23 kinaba: #define ISARC_MOVE 29 13b7203622 2011-02-23 kinaba: #define ISARC_DELETE 30 13b7203622 2011-02-23 kinaba: #define ISARC_SETOWNERWINDOW 31 13b7203622 2011-02-23 kinaba: #define ISARC_CLEAROWNERWINDOW 32 13b7203622 2011-02-23 kinaba: #define ISARC_SETOWNERWINDOWEX 33 13b7203622 2011-02-23 kinaba: #define ISARC_KILLOWNERWINDOWEX 34 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_FILE_NAME 40 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_FILE_SIZE 41 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_ORIGINAL_SIZE 42 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_COMPRESSED_SIZE 43 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_RATIO 44 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_DATE 45 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_TIME 46 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_OS_TYPE 47 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_IS_SFX_FILE 48 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_WRITE_TIME_EX 49 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_CREATE_TIME_EX 50 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_ACCESS_TIME_EX 51 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_CREATE_TIME_EX2 52 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ARC_WRITE_TIME_EX2 53 13b7203622 2011-02-23 kinaba: #define ISARC_GET_FILE_NAME 57 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ORIGINAL_SIZE 58 13b7203622 2011-02-23 kinaba: #define ISARC_GET_COMPRESSED_SIZE 59 13b7203622 2011-02-23 kinaba: #define ISARC_GET_RATIO 60 13b7203622 2011-02-23 kinaba: #define ISARC_GET_DATE 61 13b7203622 2011-02-23 kinaba: #define ISARC_GET_TIME 62 13b7203622 2011-02-23 kinaba: #define ISARC_GET_CRC 63 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ATTRIBUTE 64 13b7203622 2011-02-23 kinaba: #define ISARC_GET_OS_TYPE 65 13b7203622 2011-02-23 kinaba: #define ISARC_GET_METHOD 66 13b7203622 2011-02-23 kinaba: #define ISARC_GET_WRITE_TIME 67 13b7203622 2011-02-23 kinaba: #define ISARC_GET_CREATE_TIME 68 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ACCESS_TIME 69 13b7203622 2011-02-23 kinaba: #define ISARC_GET_WRITE_TIME_EX 70 13b7203622 2011-02-23 kinaba: #define ISARC_GET_CREATE_TIME_EX 71 13b7203622 2011-02-23 kinaba: #define ISARC_GET_ACCESS_TIME_EX 72 13b7203622 2011-02-23 kinaba: #define ISARC_SET_ENUM_MEMBERS_PROC 80 13b7203622 2011-02-23 kinaba: #define ISARC_CLEAR_ENUM_MEMBERS_PROC 81 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #define ISARC_FUNCTION_END 81 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // ERROR 13b7203622 2011-02-23 kinaba: #if !defined(ERROR_START) 13b7203622 2011-02-23 kinaba: #define ERROR_START 0x8000 13b7203622 2011-02-23 kinaba: // warning 13b7203622 2011-02-23 kinaba: #define ERROR_DISK_SPACE 0x8005 13b7203622 2011-02-23 kinaba: #define ERROR_READ_ONLY 0x8006 13b7203622 2011-02-23 kinaba: #define ERROR_USER_SKIP 0x8007 13b7203622 2011-02-23 kinaba: #define ERROR_UNKNOWN_TYPE 0x8008 13b7203622 2011-02-23 kinaba: #define ERROR_METHOD 0x8009 13b7203622 2011-02-23 kinaba: #define ERROR_PASSWORD_FILE 0x800A 13b7203622 2011-02-23 kinaba: #define ERROR_VERSION 0x800B 13b7203622 2011-02-23 kinaba: #define ERROR_FILE_CRC 0x800C 13b7203622 2011-02-23 kinaba: #define ERROR_FILE_OPEN 0x800D 13b7203622 2011-02-23 kinaba: #define ERROR_MORE_FRESH 0x800E 13b7203622 2011-02-23 kinaba: #define ERROR_NOT_EXIST 0x800F 13b7203622 2011-02-23 kinaba: #define ERROR_ALREADY_EXIST 0x8010 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #define ERROR_TOO_MANY_FILES 0x8011 13b7203622 2011-02-23 kinaba: // error 13b7203622 2011-02-23 kinaba: #define ERROR_MAKEDIRECTORY 0x8012 13b7203622 2011-02-23 kinaba: #define ERROR_CANNOT_WRITE 0x8013 13b7203622 2011-02-23 kinaba: #define ERROR_HUFFMAN_CODE 0x8014 13b7203622 2011-02-23 kinaba: #define ERROR_COMMENT_HEADER 0x8015 13b7203622 2011-02-23 kinaba: #define ERROR_HEADER_CRC 0x8016 13b7203622 2011-02-23 kinaba: #define ERROR_HEADER_BROKEN 0x8017 13b7203622 2011-02-23 kinaba: #define ERROR_ARC_FILE_OPEN 0x8018 13b7203622 2011-02-23 kinaba: #define ERROR_NOT_ARC_FILE 0x8019 13b7203622 2011-02-23 kinaba: #define ERROR_CANNOT_READ 0x801A 13b7203622 2011-02-23 kinaba: #define ERROR_FILE_STYLE 0x801B 13b7203622 2011-02-23 kinaba: #define ERROR_COMMAND_NAME 0x801C 13b7203622 2011-02-23 kinaba: #define ERROR_MORE_HEAP_MEMORY 0x801D 13b7203622 2011-02-23 kinaba: #define ERROR_ENOUGH_MEMORY 0x801E 13b7203622 2011-02-23 kinaba: #if !defined(ERROR_ALREADY_RUNNING) 13b7203622 2011-02-23 kinaba: #define ERROR_ALREADY_RUNNING 0x801F 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: #define ERROR_USER_CANCEL 0x8020 13b7203622 2011-02-23 kinaba: #define ERROR_HARC_ISNOT_OPENED 0x8021 13b7203622 2011-02-23 kinaba: #define ERROR_NOT_SEARCH_MODE 0x8022 13b7203622 2011-02-23 kinaba: #define ERROR_NOT_SUPPORT 0x8023 13b7203622 2011-02-23 kinaba: #define ERROR_TIME_STAMP 0x8024 13b7203622 2011-02-23 kinaba: #define ERROR_TMP_OPEN 0x8025 13b7203622 2011-02-23 kinaba: #define ERROR_LONG_FILE_NAME 0x8026 13b7203622 2011-02-23 kinaba: #define ERROR_ARC_READ_ONLY 0x8027 13b7203622 2011-02-23 kinaba: #define ERROR_SAME_NAME_FILE 0x8028 13b7203622 2011-02-23 kinaba: #define ERROR_NOT_FIND_ARC_FILE 0x8029 13b7203622 2011-02-23 kinaba: #define ERROR_RESPONSE_READ 0x802A 13b7203622 2011-02-23 kinaba: #define ERROR_NOT_FILENAME 0x802B 13b7203622 2011-02-23 kinaba: #define ERROR_TMP_COPY 0x802C 13b7203622 2011-02-23 kinaba: #define ERROR_EOF 0x802D 13b7203622 2011-02-23 kinaba: #define ERROR_ADD_TO_LARC 0x802E 13b7203622 2011-02-23 kinaba: #define ERROR_TMP_BACK_SPACE 0x802F 13b7203622 2011-02-23 kinaba: #define ERROR_SHARING 0x8030 13b7203622 2011-02-23 kinaba: #define ERROR_NOT_FIND_FILE 0x8031 13b7203622 2011-02-23 kinaba: #define ERROR_LOG_FILE 0x8032 13b7203622 2011-02-23 kinaba: #define ERROR_NO_DEVICE 0x8033 13b7203622 2011-02-23 kinaba: #define ERROR_GET_ATTRIBUTES 0x8034 13b7203622 2011-02-23 kinaba: #define ERROR_SET_ATTRIBUTES 0x8035 13b7203622 2011-02-23 kinaba: #define ERROR_GET_INFORMATION 0x8036 13b7203622 2011-02-23 kinaba: #define ERROR_GET_POINT 0x8037 13b7203622 2011-02-23 kinaba: #define ERROR_SET_POINT 0x8038 13b7203622 2011-02-23 kinaba: #define ERROR_CONVERT_TIME 0x8039 13b7203622 2011-02-23 kinaba: #define ERROR_GET_TIME 0x803a 13b7203622 2011-02-23 kinaba: #define ERROR_SET_TIME 0x803b 13b7203622 2011-02-23 kinaba: #define ERROR_CLOSE_FILE 0x803c 13b7203622 2011-02-23 kinaba: #define ERROR_HEAP_MEMORY 0x803d 13b7203622 2011-02-23 kinaba: #define ERROR_HANDLE 0x803e 13b7203622 2011-02-23 kinaba: #define ERROR_TIME_STAMP_RANGE 0x803f 13b7203622 2011-02-23 kinaba: #define ERROR_MAKE_ARCHIVE 0x8040 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #define ERROR_END ERROR_MAKE_ARCHIVE 13b7203622 2011-02-23 kinaba: #define ERROR_BUF_TOO_SMALL 0x8041 /**/ 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // CONFIG 13b7203622 2011-02-23 kinaba: #if !defined(UNPACK_CONFIG_MODE) 13b7203622 2011-02-23 kinaba: #define UNPACK_CONFIG_MODE 1 13b7203622 2011-02-23 kinaba: #define PACK_CONFIG_MODE 2 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // OPENARCHIVE 13b7203622 2011-02-23 kinaba: #if !defined(EXTRACT_FOUND_FILE) 13b7203622 2011-02-23 kinaba: #define M_INIT_FILE_USE 0x00000001L 13b7203622 2011-02-23 kinaba: #define M_REGARDLESS_INIT_FILE 0x00000002L 13b7203622 2011-02-23 kinaba: #define M_NO_BACKGROUND_MODE 0x00000004L 13b7203622 2011-02-23 kinaba: #define M_NOT_USE_TIME_STAMP 0x00000008L 13b7203622 2011-02-23 kinaba: #define M_EXTRACT_REPLACE_FILE 0x00000010L 13b7203622 2011-02-23 kinaba: #define M_EXTRACT_NEW_FILE 0x00000020L 13b7203622 2011-02-23 kinaba: #define M_EXTRACT_UPDATE_FILE 0x00000040L 13b7203622 2011-02-23 kinaba: #define M_CHECK_ALL_PATH 0x00000100L 13b7203622 2011-02-23 kinaba: #define M_CHECK_FILENAME_ONLY 0x00000200L 13b7203622 2011-02-23 kinaba: #define M_CHECK_DISK_SIZE 0x00000400L 13b7203622 2011-02-23 kinaba: #define M_REGARDLESS_DISK_SIZE 0x00000800L 13b7203622 2011-02-23 kinaba: #define M_USE_DRIVE_LETTER 0x00001000L 13b7203622 2011-02-23 kinaba: #define M_NOT_USE_DRIVE_LETTER 0x00002000L 13b7203622 2011-02-23 kinaba: #define M_INQUIRE_DIRECTORY 0x00004000L 13b7203622 2011-02-23 kinaba: #define M_NOT_INQUIRE_DIRECTORY 0x00008000L 13b7203622 2011-02-23 kinaba: #define M_INQUIRE_WRITE 0x00010000L 13b7203622 2011-02-23 kinaba: #define M_NOT_INQUIRE_WRITE 0x00020000L 13b7203622 2011-02-23 kinaba: #define M_CHECK_READONLY 0x00040000L 13b7203622 2011-02-23 kinaba: #define M_REGARDLESS_READONLY 0x00080000L 13b7203622 2011-02-23 kinaba: #define M_REGARD_E_COMMAND 0x00100000L 13b7203622 2011-02-23 kinaba: #define M_REGARD_X_COMMAND 0x00200000L 13b7203622 2011-02-23 kinaba: #define M_ERROR_MESSAGE_ON 0x00400000L 13b7203622 2011-02-23 kinaba: #define M_ERROR_MESSAGE_OFF 0x00800000L 13b7203622 2011-02-23 kinaba: #define M_BAR_WINDOW_ON 0x01000000L 13b7203622 2011-02-23 kinaba: #define M_BAR_WINDOW_OFF 0x02000000L 13b7203622 2011-02-23 kinaba: #define M_CHECK_PATH 0x04000000L 13b7203622 2011-02-23 kinaba: #define M_RECOVERY_ON 0x08000000L 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #define M_MAKE_INDEX_FILE 0x10000000L 13b7203622 2011-02-23 kinaba: #define M_NOT_MAKE_INDEX_FILE 0x20000000L 13b7203622 2011-02-23 kinaba: #define EXTRACT_FOUND_FILE 0x40000000L 13b7203622 2011-02-23 kinaba: #define EXTRACT_NAMED_FILE 0x80000000L 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // ATTRIBUTE 13b7203622 2011-02-23 kinaba: #ifndef FA_RDONLY 13b7203622 2011-02-23 kinaba: #define FA_RDONLY 0x01 13b7203622 2011-02-23 kinaba: #define FA_HIDDEN 0x02 13b7203622 2011-02-23 kinaba: #define FA_SYSTEM 0x04 13b7203622 2011-02-23 kinaba: #define FA_LABEL 0x08 13b7203622 2011-02-23 kinaba: #define FA_DIREC 0x10 13b7203622 2011-02-23 kinaba: #define FA_ARCH 0x20 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: #ifndef FA_ENCRYPTED 13b7203622 2011-02-23 kinaba: #define FA_ENCRYPTED 0x40 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // STRUCTURES 13b7203622 2011-02-23 kinaba: #if defined(__BORLANDC__) 13b7203622 2011-02-23 kinaba: #pragma option -a- 13b7203622 2011-02-23 kinaba: #else 13b7203622 2011-02-23 kinaba: #pragma pack(1) 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: typedef HGLOBAL HARCHIVE; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #ifndef ARC_DECSTRACT 13b7203622 2011-02-23 kinaba: #define ARC_DECSTRACT 13b7203622 2011-02-23 kinaba: typedef HGLOBAL HARC; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: typedef struct { 13b7203622 2011-02-23 kinaba: DWORD dwOriginalSize; 13b7203622 2011-02-23 kinaba: DWORD dwCompressedSize; 13b7203622 2011-02-23 kinaba: DWORD dwCRC; 13b7203622 2011-02-23 kinaba: UINT uFlag; 13b7203622 2011-02-23 kinaba: UINT uOSType; 13b7203622 2011-02-23 kinaba: WORD wRatio; 13b7203622 2011-02-23 kinaba: WORD wDate; 13b7203622 2011-02-23 kinaba: WORD wTime; 13b7203622 2011-02-23 kinaba: char szFileName[FNAME_MAX32 + 1]; 13b7203622 2011-02-23 kinaba: char dummy1[3]; 13b7203622 2011-02-23 kinaba: char szAttribute[8]; 13b7203622 2011-02-23 kinaba: char szMode[8]; 13b7203622 2011-02-23 kinaba: } INDIVIDUALINFO, FAR *LPINDIVIDUALINFO; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: typedef struct { 13b7203622 2011-02-23 kinaba: DWORD dwFileSize; 13b7203622 2011-02-23 kinaba: DWORD dwWriteSize; 13b7203622 2011-02-23 kinaba: char szSourceFileName[FNAME_MAX32 + 1]; 13b7203622 2011-02-23 kinaba: char dummy1[3]; 13b7203622 2011-02-23 kinaba: char szDestFileName[FNAME_MAX32 + 1]; 13b7203622 2011-02-23 kinaba: char dummy[3]; 13b7203622 2011-02-23 kinaba: } EXTRACTINGINFO, FAR *LPEXTRACTINGINFO; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: typedef struct { 13b7203622 2011-02-23 kinaba: EXTRACTINGINFO exinfo; 13b7203622 2011-02-23 kinaba: DWORD dwCompressedSize; 13b7203622 2011-02-23 kinaba: DWORD dwCRC; 13b7203622 2011-02-23 kinaba: UINT uOSType; 13b7203622 2011-02-23 kinaba: WORD wRatio; 13b7203622 2011-02-23 kinaba: WORD wDate; 13b7203622 2011-02-23 kinaba: WORD wTime; 13b7203622 2011-02-23 kinaba: char szAttribute[8]; 13b7203622 2011-02-23 kinaba: char szMode[8]; 13b7203622 2011-02-23 kinaba: } EXTRACTINGINFOEX, *LPEXTRACTINGINFOEX; 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #if !defined(__BORLANDC__) 13b7203622 2011-02-23 kinaba: #pragma pack() 13b7203622 2011-02-23 kinaba: #else 13b7203622 2011-02-23 kinaba: #pragma option -a. 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #if !defined(__BORLANDC__) 13b7203622 2011-02-23 kinaba: #define _export 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // WindowsMessage 13b7203622 2011-02-23 kinaba: #ifndef WM_ARCEXTRACT 13b7203622 2011-02-23 kinaba: #define WM_ARCEXTRACT "wm_arcextract" 13b7203622 2011-02-23 kinaba: #define ARCEXTRACT_BEGIN 0 13b7203622 2011-02-23 kinaba: #define ARCEXTRACT_INPROCESS 1 13b7203622 2011-02-23 kinaba: #define ARCEXTRACT_END 2 13b7203622 2011-02-23 kinaba: #define ARCEXTRACT_OPEN 3 13b7203622 2011-02-23 kinaba: #define ARCEXTRACT_COPY 4 13b7203622 2011-02-23 kinaba: typedef BOOL CALLBACK ARCHIVERPROC(HWND,UINT,UINT,LPEXTRACTINGINFOEX); 13b7203622 2011-02-23 kinaba: typedef ARCHIVERPROC *LPARCHIVERPROC; 13b7203622 2011-02-23 kinaba: #endif 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ 13b7203622 2011-02-23 kinaba: // 統合アーカイバDLLを非常に薄く覆うレイヤ 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: class kiArcDLLRaw 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: //-- 外向きインターフェイス -------------------------- 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // DLL名で初期化。 13b7203622 2011-02-23 kinaba: kiArcDLLRaw( const char* dllname ); 13b7203622 2011-02-23 kinaba: kiPath& name() 13b7203622 2011-02-23 kinaba: { return m_DllPath; } 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // DLLが生きているかどうか。 13b7203622 2011-02-23 kinaba: bool isAlive(); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // API のラッパ [ DLLやAPIが無いときの返値 ] 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // バージョンx100 [ 0 ] 13b7203622 2011-02-23 kinaba: WORD getVer(); 13b7203622 2011-02-23 kinaba: // バージョンサブx100 [ 0 ] 13b7203622 2011-02-23 kinaba: WORD getVerSub(); 13b7203622 2011-02-23 kinaba: // コマンド送り [ ERROR_NOT_SUPPORT ] 13b7203622 2011-02-23 kinaba: int command( const HWND wnd, LPCSTR cmd, LPSTR buf, const DWORD siz ); 13b7203622 2011-02-23 kinaba: // 書庫チェック [ FALSE ] 13b7203622 2011-02-23 kinaba: BOOL check( LPCSTR filename, const int mode ); 13b7203622 2011-02-23 kinaba: // 書庫の種類 [ 0 ] 13b7203622 2011-02-23 kinaba: int getArcType( LPCSTR filename ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // 開く [ NULL ] 13b7203622 2011-02-23 kinaba: HARC openArc( const HWND wnd, LPCSTR arcname, const DWORD flag ); 13b7203622 2011-02-23 kinaba: // 閉じる 13b7203622 2011-02-23 kinaba: void closeArc( HARC arc ); 13b7203622 2011-02-23 kinaba: // 一つ目を検索 [ ERROR_NOT_SUPPORT ] 13b7203622 2011-02-23 kinaba: int findfirst( HARC arc, LPCSTR wildname, INDIVIDUALINFO* inf ); 13b7203622 2011-02-23 kinaba: // 二つ目以降を検索 [ ERROR_NOT_SUPPORT ] 13b7203622 2011-02-23 kinaba: int findnext( HARC arc, INDIVIDUALINFO* inf ); 13b7203622 2011-02-23 kinaba: // 属性取得 [ 0 ] 13b7203622 2011-02-23 kinaba: int getAttr( HARC arc ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // オーナー指定 [ FALSE ] 13b7203622 2011-02-23 kinaba: BOOL setOwner( HWND wnd ); 13b7203622 2011-02-23 kinaba: // オーナー解除 [ FALSE ] 13b7203622 2011-02-23 kinaba: BOOL clearOwner(); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // ※load系は呼ばなくても内部で何とかするのでできれば使わないこと。 13b7203622 2011-02-23 kinaba: bool load(); 13b7203622 2011-02-23 kinaba: void unload(); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: private: //-- 内部処理 ----------------------------------- 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: HINSTANCE m_hDLL; 13b7203622 2011-02-23 kinaba: bool not_loaded_yet; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: kiPath m_DllPath; 13b7203622 2011-02-23 kinaba: kiStr m_DllNameBody; 13b7203622 2011-02-23 kinaba: FARPROC getProc( const char* procname ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: FARPROC m_Proc[ ISARC_FUNCTION_END ]; 13b7203622 2011-02-23 kinaba: FARPROC f_VSb; 13b7203622 2011-02-23 kinaba: #define f_Cmd m_Proc[ ISARC ] 13b7203622 2011-02-23 kinaba: #define f_Chk m_Proc[ ISARC_GET_VERSION ] 13b7203622 2011-02-23 kinaba: #define f_Gat m_Proc[ 13 ] 13b7203622 2011-02-23 kinaba: #define f_Ver m_Proc[ ISARC_CHECK_ARCHIVE ] 13b7203622 2011-02-23 kinaba: #define f_Opn m_Proc[ ISARC_OPEN_ARCHIVE ] 13b7203622 2011-02-23 kinaba: #define f_Cls m_Proc[ ISARC_CLOSE_ARCHIVE ] 13b7203622 2011-02-23 kinaba: #define f_Ffs m_Proc[ ISARC_FIND_FIRST ] 13b7203622 2011-02-23 kinaba: #define f_Fnx m_Proc[ ISARC_FIND_NEXT ] 13b7203622 2011-02-23 kinaba: #define f_GAr m_Proc[ ISARC_GET_ATTRIBUTE ] 13b7203622 2011-02-23 kinaba: #define f_SOw m_Proc[ ISARC_SETOWNERWINDOW ] 13b7203622 2011-02-23 kinaba: #define f_COw m_Proc[ ISARC_CLEAROWNERWINDOW ] 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: virtual ~kiArcDLLRaw(); 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #endif