File Annotation

Not logged in
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