                          =======================
                           UNLHA32.DLL Ver 1.88c
                          =======================

                                                Ｍｉｃｃｏ (Jan.11,2004)

########################################################################
##########                                                     #########
########## 自己解凍書庫以外での lh6/lh7 形式での配布は行わない #########
########## ようにお願いします。                                #########
##########                                                     #########
########## UNLHA32.DLL  の使用以前の，『使用言語の仕様』につい #########
########## ての質問にはお答えできません。『使用言語での API や #########
########## DLL の使用方法を理解した上』で DLL を使うようにして #########
########## ください。                                          #########
##########                                                     #########
########## DLL の手動インストール方法が解らない方は， Web Page #########
########## のほうも参照してください。                          #########
##########     http://www2.nsknet.or.jp/~micco/micindex.html   #########
##########                                                     #########
########## UNLHA32.DLL には 2000 年問題は存在しません。ただし，#########
########## 対応ソフト側がそういう扱いをすれば，いくらでも問題  #########
########## が発生します。                                      #########
##########                                                     #########
########## ドキュメントは最後まで目を通すように。「よくある不  #########
########## 具合」はドキュメント末に移しました。                #########
##########                                                     #########
########################################################################


０．はじめに

　「UNLHA32.DLL」をダウンロードしていただき有り難うございます。

　UNLHA32.DLL は，LZH 書庫に対する様々な処理を行うための DLL (ダイナミッ
クリンクライブラリ) です。"32" の名前が示すように Win32 用のプログラムで
あい，Win XP/2K/NT (ただし x86)，Win ME/98SE/98/95，Win32s 等 Win32 環境
でのみ使用が可能となっています。

　名前に反して初期の Ver 0.19 から格納にも対応しています。また，Win 版自
己解凍書庫については，UNLHA.DLL 同様  Mt.Wide 氏の「ファイルマネージャ拡
張メニュー (Explorer 拡張メニューではない ^^;)」で作成されるものと同等の
ものが作成可能となっています（Windows 及び NT 版）。

　UNLHA32.DLL は開発中のバージョンであり，API 等については今後変更される
ことが考えられます。現在のものが最終決定版ではないということを十分ご理解
の上ご使用ください。また，(まだ登場していませんが) LHA for NT 等の登場に
伴い，UNLHA32.DLL においても書庫及びヘッダ形式，コマンドやスイッチ等の仕
様が，今後さらに変更される可能性があります。


１．ファイルについて

        　ULH3188C.EXE を実行して展開すると以下のファイルが得られます。

            UNLHA32.DLL  : 32 ビット版 DLL 本体です。 通常はシステムディ
                           レクトリにインストールされます。
            UNLHA32.H    : コンパイルのためのヘッダファイルです。
            UNLHA32.LIB  : BC++ でコンパイルするためのインポートライブラ
                           リです。 Ver 1.60 以降では C++ Builder で作成
                           しているので，BC++ で使えるかどうかについては
                           判りません。(^^;;
            UNLHAVC.LIB  : VC++ でコンパイルするためのインポートライブラ
                           リです。
            DELREG.EXE   : アンインストール用のファイルです。 通常はウィ
                           ンドウズディレクトリにインストールされます。
            UNLHA32.INF  : UNLHA32.DLL  のオリジナル配布自己解凍書庫及び
                           DELREG.EXE が使用します。
            UNLHA32.TXT  : このドキュメントです。
            UNLHA32E.TXT : 英文のドキュメントです。(ただし簡易版)
            API.TXT      : UNLHA32.DLL の基本 API 説明ファイルです。
            NOTE2.TXT    : API.TXT の補足説明ファイルです。 現在進行形の
                           未完成品。(^^;)
            COMMAND.TXT  : Unlha() へ渡すコマンド文字列についての説明ファ
                           イルです。 ヘッダや圧縮メソッドの概略，SFX に
                           ついてもここに記述されています。
            NOTE.TXT     : COMMAND.TXT の補足説明ファイルです。
            HEADER.TXT   : 書庫ヘッダの仕様説明ファイルです。
            WINMES.TXT   : UNLHA32.DLL が送出するメッセージと関連 API の
                           説明ファイルです。
            ENUMAPI.TXT  : UnlhaSetEnumMembersProc() 関連 API の説明ファ
                           イルです。
            INFCOM.TXT   : Win32SFXM  で使用される設定ファイル用のコマン
                           ド説明ファイルです。
            QandA.TXT    : 今年あった主な質問集です。(^^;;
            HISTORY.TXT  : UNLHA32.DLL の更新履歴。
            ! 及び $     : 自己解凍以外の方法で展開を行った場合は， これ
                           らのファイルが展開されます。 SFX 用のファイル
                           なので，削除しても問題ありません。

　バンドルや書籍等への収録の場合， UNLHA32.DLL と UNLHA32.TXT のみである
ことが多々ありますが，他のドキュメントにも重要な情報が記述されていますの
で，なるべくオリジナルの配布ファイルを手に入れて，一読されることをお薦め
します。


２．使い方

　UNLHA32.DLL はライブラリなので，単独での使用はできません。必ず対応アプ
リが必要となります。

    A. プログラマが対応アプリを作成する場合
        API 等については，API.TXT をはじめとした各ドキュメントを参照して
        ください。UNLHA32.DLL を使用するには UNLHA32.H をインクルードし，
        リンク時に UNLHA32.LIB (又は UNLHAVC.LIB) を使用して静的リンクを
        行うか， LoadLibrary()/GetProcAddress() によりダイナミックリンク
        を行うことが必要です。プログラムの手間は増えますが，DLL がインス
        トールされていない場合など，ロード失敗の際にプログラム側で自由に
        対処が可能となるダイナミックリンクの方法をお薦めします。
        後述されている『統合アーカイバプロジェクト』では，UNLHA32.DLL を
        始めとしたアーカイバ DLL の使用法等が紹介されています。

    B. 一般ユーザが対応アプリを使用する場合
        この DLL を使用するには，必ずこの DLL に対応したソフトが必要とな
        ります。『UNLHA32.DLL に対応  (又は使用)』と明記されたソフトを使
        用してください。

        配布ファイルである  ULH3nnn.EXE は自己解凍形式の書庫となっていま
        すので， そのまま実行してください。 インストールが開始されます。
        ただし，WinXP/2K などの NT  系 OS では管理者権限でインストールを
        行う必要があります。

        なお，通常の書庫としてアーカイバソフト等で扱うことも可能なので，
        手動でインストールを行いたい場合等は，適宜展開作業を行ってくださ
        い。

        手動でインストールを行う場合，通常，UNLHA32.DLL はウィンドウズ・
        システムディレクトリ (WinXP の場合， 普通は C:\WINDOWS\SYSTEM32)
        にコピーすることになります。

        一応，私のページ (http://www2.nsknet.or.jp/~micco/micindex.html)
        に UNLHA32.DLL の手動インストール例を掲載してあります。 通常は必
        要ないはずではありますが…。

        陥りやすい注意点については，このドキュメントの冒頭を参照。(^^;)


３．動作環境

　UNLHA32.DLL は以下の環境での動作を確認しています。 Warp を含む OS/2 で
の Windows セッションでは動作しません。Power MAC の SoftWindows や PC 上
の VMware 等の環境上では，問題なく動作する模様。(^^;) まぁ，ゲストとはい
え，OS そのものの上で動作させるわけですから…。(^^;;

  [開発環境]

    ・Microsoft Windows XP (Pro) Build 2600 (SP1)
          東芝 PAG7X19PDEW DynaBook G7/X19PDEW 改，
            MK6021GAS，1GB-RAM
          東芝 PAG5X14PME DynaBook G5/X14PME 改,
            MK6021GAS，1GB-RAM (SP1)

  [使用コンパイラ]

    UNLHA32.DLL 本体 : Microsoft  Microsoft Visual C++ 5.0J pro SP3
                       INPRISE  Borland C++ Builder 5.0J pro (確認用)
    DosSFX           : SLR Systems  OPTASM 1.60 + Turbo Link 7.1.32.2
    WinSFX(M)        : Borland International  Borland C++ 5.01J Dev
    WinSFX32(M)      : Microsoft  Microsoft Visual C++ 5.0J pro SP3

  [動作確認環境]

    ・Microsoft Windows XP (Pro) Build 2600 (SP1)
          東芝 PAG7X19PDEW DynaBook G7/X19PDEW 改,
            MK6021GAS，1GB-RAM
          東芝 PAG5X14PME DynaBook G5/X14PME 改,
            MK6021GAS，1GB-RAM
          東芝 PAA2X85PMC DynaBook A2/X85PMC 改,
            MK4018GAP，384MB-RAM
          東芝 PAL1060TNMM Libretto L1/060TNMM，240MB-RAM
          SONY PCG-R505V/BD VAIO R505V/BD,
            640MB-RAM

    ・Microsoft Windows XP (Home) Build 2600
          東芝 PAA2X85PMC DynaBook A2/X85PMC 改,
            MK4018GAP，384MB-RAM (SP1)

    ・Microsoft Windows 2000 (Pro) Build 2195
          東芝 PAA1570PMC DynaBook A1/570PMC 改,
            MK2016GAP，384MB-RAM (SP4)

    ・Microsoft NT 4.0 Build 1381 + IE 4.01(SP1)
          富士通 FMVNU516X1 FMV BIBLO-NUV16X，96MB-RAM (SP6)

    ・Microsoft NT 4.0 Build 1381 + IE 3.02a
          東芝 PA1241SA DynaBook Satellite Pro 440CDX/1.4改，
            MK3205MAV，64MB-RAM (SP3)

    ・Microsoft NT 3.51 Build 1057
          富士通 FMVNU516X1 FMV BIBLO-NUV16X，96MB-RAM (SP5)

    ・Microsoft Windows ME Build 3000 + IE 5.50(SP2)
          東芝 PAA1570PMC DynaBook A1/570PMC 改,
            MK2016GAP，384MB-RAM

    ・Microsoft Windows 98 Build 1998 + IE 5.0
          富士通 FMVNU516X1 FMV BIBLO-NUV16X，96MB-RAM

    ・Microsoft Windows 95 Build 1212 (OSR 2.5) + IE 4.01(SP1)
          富士通 FMV1NU2WB5 FMV BIBLO-5233NU/W, 32MB-RAM

    ・Microsoft Windows 95 Build 1212 (OSR 2.1) + IE 4.01(SP1)
          NEC PC-MB12CUDA1 mobio NX/UD model A1改，
            MK6411MAT，48MB-RAM

    ・Microsoft Windows 95 Build 950a (SP1-kernel 952) + IE 4.01(SP1)
          東芝 PA1241SA DynaBook Satellite Pro 440CDX/1.4改，
            MK3205MAV，64MB-RAM

    ・Microsoft Windows 3.1J R2.0 + Win32s 1.30J Build 166
      (東芝 MS-DOS 6.2/V)
          東芝 EVS081TD DynaBook EVS/081TD，10MB

    ・Microsoft Windows 3.1J R1.0 + Win32s 1.25J Build 142
      (MS-DOS 6.2/V)
          東芝 PA1241SA DynaBook Satellite Pro 440CDX/1.4改，
            MK3205MAV，64MB-RAM

  [動作確認環境 (VMware 4.0/3.2 ゲスト OS)]

    ・Microsoft Windows Longhorn Client Preview
    ・Microsoft Windows Server 2003 standard
    ・Microsoft Windows XP (Pro) Build 2600 (SP1) + IE 6.0 SP1
    ・Microsoft Windows XP (Home) Build 2600 (SP1) + IE 6.0 SP1
    ・Microsoft Windows 2000 (StSv) Build 2195 (SP4) + IE 5.5 SP2
    ・Microsoft Windows 2000 (Pro) Build 2195 (SP4) + IE 6.0 SP1
    ・Microsoft Windows 2000 (Pro) Build 2195 (SP4) + IE 5.5 SP2
    ・Microsoft NT 4.0 Build 1381 (SP6a) + IE 6.0 SP1
    ・Microsoft NT 4.0 Build 1381 (SP6) + IE 5.0 SP2
    ・Microsoft NT 3.51 Build 1057 (SP3)
    ・Microsoft Windows ME Build 3000 + IE 6.0 SP1
    ・Microsoft Windows 98 SE Build 2222A + IE 6.0 SP1
    ・Microsoft Windows 98 SE Build 2222A + IE 5.5 SP2
    ・Microsoft Windows 98 SP1 Build 1998 + IE 6.0 SP1
    ・Microsoft Windows 98 SP1 Build 1998 + IE 5.0 SP2
    ・Microsoft Windows 98E SP1 Build 1998 + IE 6.0 SP1
    ・Microsoft Windows 98E SP1 Build 1998 + IE 5.5 SP2
    ・Microsoft Windows 95 Build 1212 (OSR 2.5) + IE 5.0 SP2
    ・Microsoft Windows 95 Build 1212 (OSR 2.5) + IE 4.01(SP2)
    ・Microsoft Windows 95 Build 950a (SP1-kernel 952) + IE 5.5 SP2
    ・Microsoft Windows 95 Build 950a (SP1-kernel 952) + IE 2.0
    ・Microsoft Windows 3.1J R1.0 + Win32s 1.25J Build 139
    ・Turbolinux Workstation 8.0 + wine 20021012
    ・Turbolinux Workstation 7.0 + wine 20010925

  [動作確認環境 (Virtual PC 2004 ゲスト OS)]

    ・Microsoft Windows 98 Build 1998 + IE 6.0 SP1
    ・Microsoft NT 3.51 Build 1057 (SP3)
    ・Microsoft Windows 3.1J R1.0 + Win32s 1.25J Build 142


４．転載及び著作権について

　UNLHA32.DLL はフリーソフトウェアです。商用目的ではない，個人的な使用，
オリジナル書庫での他ネット等への転載及び配布に関しては特に制限は付けませ
ん。ただし，転載・配布する場合に，メディア代等以上の手数料を徴収したり，
使用に制限を付けることはこれを禁じます。書庫ファイル及び格納ファイルの改
変を含むオリジナル配布書庫以外の形態での転載・配布は認めません。

　他ネット等への転載時には，事後でも構いませんので私まで連絡をお願いしま
す。

　商用・公用・私用にかかわらず，書籍等への収録やソフトへのバンドルについ
ては条件がありますので，必ず事前に連絡をお願いします。企業・団体等での業
務利用や業務用ソフトやオンラインソフトでの使用を前提とした転載等もこれに
含みます。連絡がなかった場合には，しかるべき処置を講じさせていただく場合
があります。

　これらの転載・収録・バンドル等の場合は， 必要な場合はライブラリ  (DLL)
が UP されていたネット等のライブラリ管理者にも必ず連絡をお願いします。

　UNLHA32.DLL の圧縮・展開ルーチン等については，基本的に LHx.EXE Ver 2.02a
のソースを流用し，AR.EXE 950528 を参考に改変を行っています。従って，この
部分についての著作権は吉崎栄泰氏及び奥村晴彦氏が保有しています。Win版 及
び NT版 自己解凍ルーチンについては Mt.Wide(広山雅明)氏が著作権を保有して
います。DLL 化等その他の部分についての著作権はＭｉｃｃｏが保有しています。

　これらのプログラムの使用によって生じた損害等については，作者及び原著作
者は何も補償する義務を負わないこととさせていただきます。


５．公開先について

　UNLHA32.DLL の一次配布先は，http://www2.nsknet.or.jp/~micco/micindex.html
となっています。 β版については，(当然ながら) あまり転載が行われない関係
上ここからダウンロードすることになると思いますが，正式版については，比較
的タイムラグも少なく， また DLL の使用法等の情報も得られることから『統合
アーカイバプロジェクト』http://www.csdinc.co.jp/archiver/ 等からダウンロー
ドされるのもいいかと思います。


６．サポートについて

        １．メール

                micco@mbd.nifty.com

                          サーバ及びメールブラウザの設定上メールが届かな
                          い (拒否，または削除される) 場合があります。

        ２．メーリングリスト

                Internet の波…というか， NIFTY からの退会者が増える中，
                最近では Web  ページ『統合アーカイバ』内のメーリングリス
                ト上で DLL  関係の話題について扱われることが多くなりまし
                た。開発系については，NIFTY よりもこちらのほうがいいかも
                しれません。詳しくは『統合アーカイバ』のページを参照して
                ください。

　基本的に，私は日に 1 回しかアクセスできませんので，最低 3 日ほどの余裕
をもってメールするようにお願いします。『読んですぐ返事』が不可能 (なほど
メールがたくさんくる ^^;) 関係上， 下手をすると返事が 2 日後…ということ
になりますので。双方のアカウントへの同報メールは行わないようにお願いしま
す。

　なお，UNLHA32.DLL は吉崎氏に連絡した上で私が独自に開発したものであり，
基本的に吉崎氏は関与していません。従って，吉崎氏へのメールは御遠慮くださ
るようお願いします。WinSFX 関係の Mt.Wide 氏についても同様です。

　また， 『統合アーカイバプロジェクト』http://www.csdinc.co.jp/archiver/
の管理者である  shoda T. 氏への問い合わせメールが増えています。 UNLHA32.
DLL そのものに関する問い合わせは私のほうにお願いします。


７．謝辞

　素晴らしいアーカイバ  LHA を作成された吉崎栄泰氏，Win 版及び NT 版自己
解凍ルーチンの使用を許可してくださり，また，ルーチンを供与してくださった
Mt.Wide さん，そして作成を影で支えてくださったユーザの皆さんに感謝します。


８．最後に

        UNLHA32.DLL が何かのお役に立てれば幸いです。

                                       Ｍｉｃｃｏ (micco@mbd.nifty.com)


[よくある不具合]
========================================================================
■ファイルを圧縮したのに全然圧縮されていない (サイズが変わらない)

  　いくら  UNLHA32.DLL にファイルを圧縮する機能が施されていたとしても，
  『すでに圧縮されているファイル』をそれ以上圧縮するようなことはできませ
  ん。jpeg のような画像は『それ自体すでに圧縮されている』ファイルです。

■配布ファイルを展開したのに UNLHA32.DLL だけ表示されない

  　Ver 1.54c 以降では，配布ファイルである自己解凍書庫を実行して展開を行っ
  た場合には，DLL についてはシステムディレクトリに展開されます。

  　アーカイバソフト等で直接展開を行った場合には， Explorer ではユーザー
  が指定しない限り ".DLL" の拡張子をもつファイルは表示されません。表示―
  オプション」メニュー  (IE 4.0 等が導入された環境では「表示―フォルダオ
  プション」) ですべてのファイルが表示されるように設定してください。その
  際には『登録されたファイルの拡張子は表示しない』のチェックを外すこと。
  これが有効 (つまり初期状態) だと，例えば，UNLHA32.DLL の配付書庫を展開
  した場合， アイコンが異なる同じ名前のファイルが 5 個表示されることにな
  ります。この項目に引っかかっているようなレベルのユーザには，アイコンだ
  けで区別するのは無理なので。

■タイムスタンプのずれについて

  　UNLHA32.DLL が通常作成する書庫では，タイムスタンプはすべて協定世界時
  （UTC）で扱われます。DOS（DOS 窓を含む）や Win3.1 用のプログラムは環境
  変数の設定に基づいて UTC→地方時間（例えば日本標準時間）への変換が行わ
  れるようになっているため，環境変数が設定されていない環境ではタイムスタ
  ンプがずれてしまいます。 もしタイムスタンプが 9 時間ずれているようなら
  間違いなくこの不具合です。 使用するプログラムによっては，まれに 2 時間
  だけずれる場合もありますけど…("TZ" が設定されていない場合に  PST とみ
  なすプログラムがあるんです ^^;)。

  　日本国内においては，次の環境変数を設定してください。なお，これは Win
  9X 等の DOS 窓でも必要となります。通常は autoexec.bat で設定を行います。

        set TZ=JST-9

  　環境によっては，"TZ=JST-09" とする必要があるかもしれません。

  　上記の設定を行った場合でも，Win9X ではシステムの内部情報が異常となり
  正常なタイムスタンプでの展開が行われないことがあります。このような場合
  には，タイムゾーンの設定をやり直すことで大抵の場合は正常な動作となりま
  す。

■UNLHA32.DLL 対応プログラムで使用するための UNLHA32.DLL の手動インストー
  ルについて

  　雑誌の付録 CD-ROM 等などにおいては，独自の書庫に再編成された状態で収
  録されることが多々あります。このような場合は，DLL の手動インストールが
  必要となります。

  　最低限必要なのは，UNLHA32.DLL をシステムディレクトリ (Win95 系の場合，
  通常は C:\WINDOWS\SYSTEM) にコピーすることです。

  　Win のお作法に従いたい場合は，UNLHA32.INF を使用してインストールを行
  うことも可能ですが，DELREG.EXE が正しくウィンドウズディレクトリにコピー
  されていないと，アンインストールが正常に行えません。右クリックして表示
  されるコンテキストメニューの『インストール』を実行するだけです。

  　上記の記述だけで難しい場合は，私の WEB ページ
  (http://www2.nsknet.or.jp/~micco/micindex.html) にインストール方法の説
  明が掲載されています。

■「厳格なファイル名サーチ」設定について

  　この設定については，通常チェックをはずすようにしてください。この設定
  が有効になっていると，大抵のアプリでパス情報付きの格納ファイルが表示さ
  れなくなります。そのようなファイルが表示されない場合は，UNLHA32.DLL の
  設定ダイアログを呼び出せるプログラムを用いて，この項目の設定を確認して
  ください。

■Ver 1.51 以降の DLL を使用した場合に，対応ソフトが正常に動作しない

  　『Ver 1.51 以降ではダメで  Ver 1.50 以前なら大丈夫』という現象が発生
  した場合は， UNLHA32.DLL の "-u" 及び "-gf" スイッチの仕様変更が原因と
  なっていることが考えられます (例えば WinLM32 等)。この現象が発生した場
  合は，DLL の設定ダイアログが呼び出せるソフトを使用して『旧式の gf スイッ
  チ動作』を有効にすることで，不具合を回避することができます。

  　可能であれば，COMMAND.TXT のレジストリの項目を参照した上で，レジスト
  リによるソフトごとの個別設定を行ったほうがよいでしょう。

■Ver 1.45 以降の DLL を使用した場合に，対応ソフトが正常に動作しない

  　『Ver 1.45 以降ではダメで  Ver 1.44 以前なら大丈夫』という現象が発生
  した場合は，UNLHA32.DLL のログ出力における改行コードの変更が原因となっ
  ていることが考えれます (例えば GV 0.84a 等)。この現象が発生した場合は，
  DLL の設定ダイアログが呼び出せるソフトを使用して『旧式ログ出力』を有効
  にすることで，不具合を回避することができます。

  　可能であれば，COMMAND.TXT のレジストリの項目を参照した上で，レジスト
  リによるソフトごとの個別設定を行ったほうがよいでしょう。
========================================================================
