=======================================================================
     UNLHA32.DLL Ver 3.00  EnumMembersProc ֌W API t@C
=======================================================================

					       l (May. 7,2017)


͂߂

@UNLHA32.DLL ̃hLg\͈ȉ̂悤ɂȂĂ܂B

    API.TXT	 : 𐬂 Unlha() ny OpenArchive() n API ̐
    NOTE2.TXT	 : API.TXT ̕⑫
    COMMAND.TXT  : Unlha() ɓnR}hɂĂ̐
    NOTE.TXT	 : COMMAND.TXT ̕⑫
    WINMES.TXT	 : SetOwnerWindow() n API ̐
    ENUMAPI.TXT  : SetEnumMembersProc() n API ̐
    STRTABLE.TXT : XgOe[uƌݒp API ɂĂ̐
    HEADER.TXT	 : LZH Ƀwb_dl̐
    INFCOM.TXT	 : Win32SFXM Ŏgp $ t@CR}h̐
    QandA.TXT	 : ߋɂȎW
    HISTORY.TXT  : C

@̃hLgł́C R[obN֐̐ݒs  EnumMembersProc()
n API ɂĐĂ܂BAPI.TXT ɂ API ŜɊւLq
܂̂ŁCQƂقǂł傤B


-----------------------------------------------------------------------
%1. e API ̐B
%2. UNLHA_ENUM_MEMBER_INFO ̍\
%3. UNLHA_ENUM_MEMBER_INFO64 ̍\
%4. R}hɂ鏈̈ႢB
-----------------------------------------------------------------------

@Ver 1.20 ́C R[obNE[`ɂ菈̗Lw肷邽
 API pӂĂ܂B wkEWJ̃pXύXEč\zxwAv
ɂspXEt@C`FbNxƂprɎg܂B
@UNARJ.DLL ̍̂܂ܐił΁C OpenArchive n API ŁCׂĎ
͂̂łcB


-----------------------------------------------------------------------
%1. e API ̐B
-----------------------------------------------------------------------

-----------------------------------------------------------------------
BOOL WINAPI UnlhaSetEnumMembersProc(
		UNLHA_WND_ENUMMEMBPROC	_lpEnumProc
	    )
-----------------------------------------------------------------------
	 99 : UnlhaSetEnumMembersProc
	399 : UnlhaSetEnumMembersProcA
	699 : UnlhaSetEnumMembersProcW
v	UnlhaSetEnumMembersProc  : 1.20
	UnlhaSetEnumMembersProcA : 2.39a
	UnlhaSetEnumMembersProcW : 2.40
@\
	UNLHA32.DLL ĂяoR[obN֐̓o^s܂B


	_lpEnumProc	UNLHA32.DLL ĂяoR[obN֐ւ̃|C
			^Bڍׂ͌q Unlha_EnumMembers_Proc ̍ڂ
			QƂĂB

߂l
	I	TRUE Ԃ܂B
	G[	쒆ȂǓo^Ɏsꍇɂ FALSE Ԃ܂B
			ۂ̃G[R[h𓾂ɂ UnlhaGetLastError()
			API gpĂB

Unicode
	Ver 2.40 ȍ~ł Unicode ł ANSI łĂ܂CWin-
	9X nɂẮC VXe Unicode  ɑΉĂȂƂC
	ŏIIɂ ANSI ֕ϊďs܂B

Ql
	Iɂ  UnlhaSetEnumMembersProc64(_lpEnumProc, sizeof(UNLHA_
	ENUM_MEMBER_INFO)) ĂяoĂ܂B

-----------------------------------------------------------------------
BOOL WINAPI UnlhaClearEnumMembersProc(
		VOID
	    )
-----------------------------------------------------------------------
	100
v	1.20
@\
	UnlhaSetEnumMembersProc() ōs֐̓o^܂B

߂l
	I	TRUE Ԃ܂B
	G[	쒆ȂǉɎsꍇɂ FALSE Ԃ܂B
			ۂ̃G[R[h𓾂ɂ UnlhaGetLastError()
			API gpĂB

-----------------------------------------------------------------------
BOOL WINAPI UnlhaSetEnumMembersProc64(
		UNLHA_WND_ENUMMEMBPROC	_lpEnumProc,
		const DWORD		_dwStructSize
	    )
-----------------------------------------------------------------------
	110
v	1.60
@\
	UNLHA32.DLL ĂяoR[obN֐̓o^s܂B
	UnlhaSetEnumMembersProc() ̊głŁCw肵R[obN֐
	n\̂̎ʂw\ƂȂĂ_C̈ႢłB


	_lpEnumProc	UNLHA32.DLL ĂяoR[obN֐ւ̃|C
			^Bڍׂ͌q Unlha_EnumMembers_Proc ̍ڂ
			QƂĂB
	_dwStructSize	gp\̂̃[hBۂɂ UNLHA_ENUM_MEM-
			BER_INFOC UNLHA_ENUM_MEMBER_INFO64 ̂ǂ炩
			gp̂肵C̃TCYw肷Kv
			܂B

߂l
	I	TRUE Ԃ܂B
	G[	쒆ȂǓo^Ɏsꍇɂ FALSE Ԃ܂B
			ۂ̃G[R[h𓾂ɂ UnlhaGetLastError()
			API gpĂB


	ʏCAPI Ŏgp\̂ɂẮCdlύXꍇ
	́C\̂̃TCY񓙂𗘗păAvőΉ邱ƂɂȂ
	C gp DLL ̉łƂrIyȕύX̂߂Ɋ̃Av
	ꎞIɂ뗘płȂȂ͕̂sւłB
	̂悤ȏ󋵂CAvőΉł悤ɂ
	߁C  API ɂẮCAPI ƂĂ̌ʂȂfb
	g𖳎āC[hws悤ɂȂĂ܂B

Ql
	_dwStructSize  sizeof(UNLHA_ENUM_MEMBER_INFO) w肷ƁCUn-
	lhaSetEnumMembersProc() ̓ƂȂ܂B

-----------------------------------------------------------------------
BOOL WINAPI UnlhaClearEnumMembersProc64(
		VOID
	    )
-----------------------------------------------------------------------
	111
v	1.60
@\
	UnlhaSetEnumMembersProc64() ōs֐̓o^܂B

߂l
	I	TRUE Ԃ܂B
	G[	쒆ȂǉɎsꍇɂ FALSE Ԃ܂B
			ۂ̃G[R[h𓾂ɂ UnlhaGetLastError()
			API gpĂB

Ql
	ʂǂ邽߂ɕʂ API ƂȂĂ܂C ۂɂ́C
	܂ UnlhaClearEnumMembersProc() ĂяoĂ܂B

-----------------------------------------------------------------------
BOOL CALLBACK Unlha_EnumMembers_Proc(
		  LPVOID  _lpInfo
	      )
-----------------------------------------------------------------------
v	1.20
@\
	ɂ̏󂯎邽߂́CAvP[VŒ`ꂽR[ob
	N֐łB
	i[t@C̎wׂsꍇȂǂł̎gp{̖
	IƂĂ邽߁CUnlha() Ŏw肳ꂽXCb`𔽉fČ
	sʁC}b`̂ɂĂ݂̂Ŏw肵R[obN
	֐Ă΂dlƂȂĂ܂B


	_lpInfo     ɂ̃o[̏i[\̂ւ̃|C^B
		    ̍\̂̏ TRUE ԂƂ UN-
		    LHA32.DLL Ɋȅs킹邱Ƃł܂B
		    ɂ́Ĉǂ炩ɂȂ܂B

		LPUNLHA_ENUM_MEMBER_INFO _lpInfo
			UnlhaSetEnumMembersProc()   sizeof(UNLHA_ENUM_
			MEMBER_INFO) w肵 UnlhaSetEnumMembersProc-
			64() gpꍇB
		LPUNLHA_ENUM_MEMBER_INFO64 _lpInfo
			sizeof(UNLHA_ENUM_MEMBER_INFO64)  w肵 Un-
			lhaSetEnumMembersProc64() gpꍇB

߂l
	TRUE	    _lpInfo  ̏ɏ] UNLHA32.DLL ɏs킹
		    B
	FALSE	    UNLHA32.DLL ɓYo[̏XLbv܂B


-----------------------------------------------------------------------
%2. UNLHA_ENUM_MEMBER_INFO ̍\
-----------------------------------------------------------------------
\̒`
    struct {
	DWORD		dwStructSize;
	UINT		uCommand;
	DWORD		dwOriginalSize;
	DWORD		dwCompressedSize;
	DWORD		dwAttributes;
	DWORD		dwCRC;
	UINT		uOSType;
	WORD		wRatio;
	FILETIME	ftCreateTime;
	FILETIME	ftAccessTime;
	FILETIME	ftWriteTime;
	TCHAR		szFileName[FNAME_MAX32 + 1];
	TCHAR		dummy1[3];
	TCHAR		szAddFileName[FNAME_MAX32 + 1];
	TCHAR		dummy2[3];
    } UNLHA_ENUM_MEMBER_INFO, *LPUNLHA_ENUM_MEMBER_INFO;

o[̐
    dwStructSize	̍\̂̃TCYi[Ă܂Bl
			Ȃ悤ɂ肢܂B
    uCommand		Unlha() ǂ̖߂܂B
			UNLHA_LIST_COMMAND	lCv 
			UNLHA_ADD_COMMAND	aCuCm 
			UNLHA_FRESH_COMMAND	f 
			UNLHA_DELETE_COMMAND	d 
			UNLHA_EXTRACT_COMMAND	eCx 
			UNLHA_PRINT_COMMAND	p 
			UNLHA_TEST_COMMAND	t 
			UNLHA_MAKESFX_COMMAND	s 
			UNLHA_JOINT_COMMAND	j 
			UNLHA_CONVERT_COMMAND	y 
			UNLHA_RENAME_COMMAND	n 
    dwOriginalSize	o[̃t@CTCYB
    dwCompressedSize	o[̈k̃t@CTCYBa ߓŒǉ
			t@CɂĂ̌Ăяoɂ́Cl͖
			łB
    dwAttributes	o[̑B
    dwCRC		o[̃`FbNTBǉt@C̏ꍇ
			͕sƂȂ܂B
    uOSType		o[쐬ꂽۂɎgpꂽ OSB
				 0	MS-DOS
				 2	UNIX
				 4	 MAC-OS
				 5	OS/2
				10	̑
				11	OS9 (MAC ̐V^ł͂Ȃ ^^;)
				12	OS/68K
				12	OS/386
				14	HUMAN
				15	CP/M
				16	FLEX
				17	Runser
				18	Windows NT n OS
				19	Windows 95 n OS
    wRatio		o[̃p[~ (番) ɂ鈳kBǉ
			t@C̏ꍇ͕sƂȂ܂B
    ftCreateFile	FILETIME `ɂt@C̍쐬 (UTC)B
			FILETIME `Ƃ́CJan.1,1601 00:00:00 
			100ns Pʂ̌oߎԂ	64  rbg̐lŕ\
			̂łB ڂ Win32 API ̃wvQƂ
			ĂB
    ftAccessTime	FILETIME `ɂt@C̎QƓ (UTC)B
    ftWriteTime 	FILETIME `ɂt@C̍XV (UTC)B
    szFileName		o[̃pX܂߂OB
    szAddFileName	a ߓ̏ꍇɂ́CŎw肳ꂽt@Ci
			[܂Be ߓ̏ꍇɂ͂ŎĂ
			fBNg[ƖOœWJs܂B


-----------------------------------------------------------------------
%3. UNLHA_ENUM_MEMBER_INFO64 ̍\
-----------------------------------------------------------------------
\̒`
    struct {
	DWORD		dwStructSize;
	UINT		uCommand;
	ULHA_INT64	llOriginalSize;
	ULHA_INT64	llCompressedSize;
	DWORD		dwAttributes;
	DWORD		dwCRC;
	UINT		uOSType;
	WORD		wRatio;
	FILETIME	ftCreateTime;
	FILETIME	ftAccessTime;
	FILETIME	ftWriteTime;
	TCHAR		szFileName[FNAME_MAX32 + 1];
	TCHAR		dummy1[3];
	TCHAR		szAddFileName[FNAME_MAX32 + 1];
	TCHAR		dummy2[3];
    } UNLHA_ENUM_MEMBER_INFO, *LPUNLHA_ENUM_MEMBER_INFO;

o[̐
    dwStructSize	̍\̂̃TCYi[Ă܂Bl
			Ȃ悤ɂ肢܂B
    uCommand		Unlha() ǂ̖߂܂B
			UNLHA_LIST_COMMAND	lCv 
			UNLHA_ADD_COMMAND	aCuCm 
			UNLHA_FRESH_COMMAND	f 
			UNLHA_DELETE_COMMAND	d 
			UNLHA_EXTRACT_COMMAND	eCx 
			UNLHA_PRINT_COMMAND	p 
			UNLHA_TEST_COMMAND	t 
			UNLHA_MAKESFX_COMMAND	s 
			UNLHA_JOINT_COMMAND	j 
			UNLHA_CONVERT_COMMAND	y 
			UNLHA_RENAME_COMMAND	n 
    llOriginalSize	o[̃t@CTCYB
    llCompressedSize	o[̈k̃t@CTCYBa ߓŒǉ
			t@CɂĂ̌Ăяoɂ́Cl͖
			łB
    dwAttributes	o[̑B
    dwCRC		o[̃`FbNTBǉt@C̏ꍇ
			͕sƂȂ܂B
    uOSType		o[쐬ꂽۂɎgpꂽ OSB
				 0	MS-DOS
				 2	UNIX
				 4	 MAC-OS
				 5	OS/2
				10	̑
				11	OS9 (MAC ̐V^ł͂Ȃ ^^;)
				12	OS/68K
				12	OS/386
				14	HUMAN
				15	CP/M
				16	FLEX
				17	Runser
				18	Windows NT n OS
				19	Windows 95 n OS
    wRatio		o[̃p[~ (番) ɂ鈳kBǉ
			t@C̏ꍇ͕sƂȂ܂B
    ftCreateFile	FILETIME `ɂt@C̍쐬 (UTC)B
			FILETIME `Ƃ́CJan.1,1601 00:00:00 
			100ns Pʂ̌oߎԂ	64  rbg̐lŕ\
			̂łB ڂ Win32 API ̃wvQƂ
			ĂB
    ftAccessTime	FILETIME `ɂt@C̎QƓ (UTC)B
    ftWriteTime 	FILETIME `ɂt@C̍XV (UTC)B
    szFileName		o[̃pX܂߂OB
    szAddFileName	a ߓ̏ꍇɂ͎ۂɊi[t@C̖OB
			e ߓ̏ꍇɂ͂ŎĂfBNg
			[ƖOœWJs܂B


-----------------------------------------------------------------------
%4. R}hɂ鏈̈ႢB
-----------------------------------------------------------------------

@݂̃o[Wł UNLHA_ENUM_MEMBER_INFO \̂̂Cۂɗp
̂ szFileName  szAddFileName ݂̂łB(^^;;

   (1)	UNLHA_LIST_COMMAND	lCv 

	\͖̂̏CTRUE Ԃꂽ̂ɂăXg\B

   (2)	UNLHA_ADD_COMMAND	aCuCm 
   (3)	UNLHA_FRESH_COMMAND	f 

	̏𗘗pďɂɃt@Ci[܂B
	    szFileName		Ŏw肳ꂽOŏɂɊi[B
	    szAddFileName	Ŏw肳ꂽt@Ci[B

   (4)	UNLHA_DELETE_COMMAND	d 

	\͖̂̏C TRUE Ԃꂽ̂ɂďɂ̍
	s܂B

   (5)	UNLHA_EXTRACT_COMMAND	eCx 

	̏𗘗păo[WJB
	    szAddFileName	Ŏw肳ꂽfBNg[ƖO
				t@CWJB

   (6)	UNLHA_PRINT_COMMAND	p 

	\͖̂̏C TRUE Ԃꂽ̂ɂăobt@ւ
	o͂s܂B

   (7)	UNLHA_TEST_COMMAND	t 

	\͖̂̏C TRUE Ԃꂽ̂ɂăeXgs
	܂B

   (8)	UNLHA_MAKESFX_COMMAND	s 

	̏𗘗p SFX Ɋi[B
	    szFileName		Ŏw肳ꂽOɕύXăo[
				SFX Ɋi[B


   (9)	UNLHA_JOINT_COMMAND	j 

	̏𗘗pďɂɃo[ǉB
	    szFileName		Ŏw肳ꂽOɕύXďɂɒǉB

  (10)	UNLHA_CONVERT_COMMAND	y 

	̏𗘗păo[̃wb_ϊB
	    szFileName		Ŏw肳ꂽOɕύXB

  (11)	UNLHA_RENAME_COMMAND	n 

	̏𗘗păo[̖OύXB
	    szFileName		Ŏw肳ꂽOɕύXB
=======================================================================
