File Annotation

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