                          =======================
                           UNLHA32.DLL Ver 2.65d
                          =======================

                                               Ｍｉｃｃｏ (Dec.13,2008)

########################################################################
##########                                                     #########
########## 自己解凍書庫以外での lh6/lh7/lhx 形式での公開配布は #########
########## 行わないようにお願いします。                        #########
##########                                                     #########
########## DLL の手動インストール方法が解らない方は， Web Page #########
########## のほうも参照してください。                          #########
##########     http://www2.nsknet.or.jp/~micco/micindex.html   #########
##########                                                     #########
########## ドキュメントは最後まで目を通すようにしましょう。    #########
##########「よくある不具合」はドキュメント末に移しました。     #########
##########                                                     #########
########################################################################


０．はじめに

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

　UNLHA32.DLL は，『統合アーカイバプロジェクト』の API 仕様に準拠した
LZH 書庫に対する様々な操作を行うための DLL (ダイナミックリンクライブラリ)
です。 "32" の名前が示すように，Windows Vista/XP/2K/NT といった NT 系 OS
(ただし x86)，及び Windows Me/98SE/98/95，Win32s といった 9x 系 OS，それ
ら Win32 API が実装された環境でのみ動作が可能となっています。 x64 環境上
での (Win32 アプリとしての) 使用については正式対応していませんが，問題な
く動作しているようです。

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

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


１．ファイルについて

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

            UNLHA32.DLL  : 32 ビット版 DLL 本体です。 通常はシステムディ
                           レクトリにインストールされます。
            UNLHA32.H    : コンパイルのためのヘッダファイルです。
            UNLHA32.LIB  : VC++ でコンパイルするためのインポートライブラ
                           リです。
            DELREG.EXE   : アンインストール用のファイルです。 通常はウィ
                           ンドウズディレクトリにインストールされます。
            UNLHA32.INF  : UNLHA32.DLL  のオリジナル配布自己解凍書庫及び
                           DELREG.EXE が使用する  DLL インストール用ファ
                           イルです。
            UNLHA32.TXT  : このドキュメントです。
            UNLHA32E.TXT : UNLHA32.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 の説明ファ
                           イルです。
            STRTABLE.TXT : UNLHA32.DLL  が使用するストリングテーブルと言
                           語設定関連 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 を使用して静的リンクを行うか， LoadLibra-
        ry()/GetProcAddress() によりダイナミックリンクを行うことが必要で
        す。プログラムの手間は増えますが，DLL がインストールされていない
        場合など，ロード失敗の際にプログラム側で自由に対処が可能となるダ
        イナミックリンクの方法をお薦めします。
        後述されている『統合アーカイバプロジェクト』では，UNLHA32.DLL を
        始めとしたアーカイバ DLL の使用法等が紹介されています。

    B. 一般ユーザが対応アプリを使用する場合

        この DLL を使用するには，必ずこの DLL に対応したソフトが必要とな
        ります。『UNLHA32.DLL に対応  (又は使用)』と明記されたソフトを使
        用してください。『統合アーカイバ』という表現が使われている場合も
        あります。

        配布ファイルである  ULH3nnn.EXE は簡易インストール機能付きの自己
        解凍形式書庫となっていますので， そのまま実行してください。 イン
        ストールが開始されます。ただし，Windows Vista/XP/2K などの NT 系
        OS では管理者権限でインストールを行う必要があります  (Vista 以外
        ではパワーユーザでもインストール自体は可能ですが，インストール終
        了時にエラーが表示されます)。 Windows XP  等で『全てのユーザ』配
        下へのメニュー登録を行う場合は， (管理者権限ではなく) 管理者アカ
        ウントでインストールを行う必要があります。

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

        手動でインストールを行う場合，通常，UNLHA32.DLL はウィンドウズ・
        システムディレクトリ (通常は 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 MCE 2005 Build 2600 (SP3)
          VMware Workstation 6.0.3，1GB-RAM (ゲスト)
    ・Microsoft Windows Vista Ultimate Edition Build 6001 (SP1)
          東芝 PAWW78DLN10W dynabook Satellite WXW/78DW 改，
            WD3200BEVT-00ZCT0，4GB-RAM (ホスト)

  [使用コンパイラー]

    UNLHA32.DLL 本体 : Microsoft  Microsoft Visual C++ 5.0J pro SP3
    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 Vista Ultimate Build 6001 (SP1)
          東芝 PAWW78DLN10W dynabook Satellite WXW/78DW 改，
            WD3200BEVT-00ZCT0，4GB-RAM
          東芝 PALX290DK dynabook SS LX/290DK 改，
            MHY2160BH，1.5GB-RAM

    ・Microsoft Windows Vista Ultimate Build 6000 (SP1)
          東芝 PATW69ALN20W dynabook Satellite TXW/69AW，2GB-RAM

    ・Microsoft Windows Vista Business Build 6000
          東芝 PP16190C2F64P dynabook SS 1610 90C/2，1.25GB-RAM

    ・Microsoft Windows XP (Pro) Build 2600 (SP3)
          東芝 PAG7X19PDEW DynaBook G7/X19PDEW 改，
            MHV-2120AT，1GB-RAM

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

    ・Microsoft Windows Vista Ultimate x64 Build 6000 (SP1)
    ・Microsoft Windows Server 2003 standard
    ・Microsoft Windows XP x64 (Pro) Build 2600 (SP3) + IE 7.0
    ・Microsoft Windows XP (MCE 2005) Build 2600 (SP3) + IE 7.0
    ・Microsoft Windows XP (Pro) Build 2600 (SP3) + IE 7.0 (英語版)
    ・Microsoft Windows XP (Pro) Build 2600 (SP3) + IE 6.0 SP2
    ・Microsoft Windows XP (Pro) Build 2600 (SP3) + IE 6.0 SP1
    ・Microsoft Windows XP (Home) Build 2600 (SP3) + 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 Windows NT 4.0 Build 1381 (SP6a) + IE 6.0 SP1
    ・Microsoft Windows NT 4.0 Build 1381 (SP6) + IE 5.0 SP2
    ・Microsoft Windows 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 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
    ・Ubuntu 8.04 LTS + Wine 1.0-rc2
    ・KNOPPIX 5.3.1 DVD + Wine 0.9.54

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

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


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

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

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

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

　これらの転載・収録・バンドル等の際は， ライブラリ (DLL) が公開されてい
たサイト等の管理者へ連絡が必要な場合もありますので，注意してください。
一次配布先である @nsk については必要ありません。

　UNLHA32.DLL  の圧縮・展開ルーチン等については， 基本的に LHx 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(a)mbd.nifty.com

                          サーバ及びメールブラウザの設定上メールが届かな
                          い (拒否，または削除される) 場合があります。
                          なお，"(a)" の部分は "@" に読み替えてください。

        ２．メーリングリスト

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

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

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

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


７．謝辞

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


８．最後に

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

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


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

  　いくら  UNLHA32.DLL にファイルを圧縮する機能が施されていたとしても，
  『すでに圧縮されているファイル』をそれ以上圧縮した場合は効果が上がりま
  せん。昨今の画像や映像・音声といったマルチメディア系のファイルは『それ
  自体すでに圧縮されている』ファイルであることが多々あります。

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

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

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

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

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

  　日本国内においては，次の環境変数を設定してください。なお，これは Win-
  dows 95 等の DOS 窓でも必要となります。

        set TZ=JST-9

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

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

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

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

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

  　上記の記述だけで難しい場合は，私の 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 のレジストリーの項目を参照した上で，レジス
  トリーによるソフトごとの個別設定を行ったほうがよいでしょう。
========================================================================
