
                      ISO イメージファイル展開用 DLL
                  UnIso32.dll Ver.4.57.00.04 by K.Takata


１．はじめに
　本 DLL は、CD や DVD の ISO イメージファイルを展開するための DLL です。
『統合アーカイバＡＰＩ仕様』（仮称）に準拠しており、統合アーカイバ DLL を
利用するソフトから使用できます。
　本機能は、7-Zip の ISO ファイル展開機能と、7-zip32.dll の統合アーカイバ
API を組み合わせることで実現しています。


２．対応イメージファイル
　7-Zip 4.65 で展開可能な ISO イメージファイルに対応しています。具体的には
以下のイメージファイルが扱えるようです。

・ISO 9660 Level 1, 2
・Joliet
・UDF (ISO 13346)


３．API
　使用可能な API は、7-zip32.dll とほぼ同等です。ただし関数のプレフィックスは
SevenZip から UnIso に変更されています。
　圧縮系のコマンドは一切使用できません。


４．ソースファイルの構成
　ソースファイルの大部分は 7-Zip 4.57 と 7-zip32.dll 4.57.00.01 をベースに
しており、一部は 7-Zip 4.65, 9.15, 9.20 のソースファイルを利用しています。
（7-Zip 4.57 は UDF に対応しておらず、また ISO ファイルのタイムスタンプの
扱いにバグがあるため。）

　7-Zip 4.57 および 7-zip32.dll 4.57.00.01 から変更しているファイルを以下に
示します。

C\CpuArch.h
  7-Zip 4.65 のファイルに差し替え


CPP\7zip\Archive\Iso\*
  7-Zip 4.65 のファイルに差し替え

CPP\7zip\Archive\Iso\IsoHandler.cpp
CPP\7zip\Archive\Iso\IsoIn.cpp
  7-Zip 4.57 に合わせるために修正


CPP\7zip\Archive\Udf\*
  7-Zip 4.65 のファイルを追加

CPP\7zip\Archive\Udf\UdfHandler.cpp
  7-Zip 4.57 に合わせるために修正

CPP\7zip\Archive\Udf\UdfIn.cpp
  7-Zip 4.57 に合わせるために修正
  7-Zip 9.20 の変更を一部反映


CPP\7zip\Bundles\7-zip32\*
  7-zip32.dll 4.57.00.01 のソースファイル

CPP\7zip\Bundles\7-zip32\7-zip32.dsp
  7-zip32.dll を ISO ファイルに対応させたもの
  DLL のベースアドレスの設定も追加（ロード高速化、省メモリ目的）

CPP\7zip\Bundles\7-zip32\7-zip32.h
  ARCHIVETYPE_ISO 追加
  バージョン番号変更

CPP\7zip\Bundles\7-zip32\Dialog.cpp
  UnIso32.dll用バージョン情報追加

CPP\7zip\Bundles\7-zip32\MyOpenArchive.cpp
  ARCHIVETYPE_ISO 追加
  ISO ファイル内のディレクトリのサイズを取得すると例外が発生するのを修正

CPP\7zip\Bundles\7-zip32\UnIso32.def
CPP\7zip\Bundles\7-zip32\UnIso32.dsp
CPP\7zip\Bundles\7-zip32\UnIso32.dsw
CPP\7zip\Bundles\7-zip32\UnIso32.rc
  UnIso32.dll用に追加

CPP\7zip\Bundles\7-zip32\7zTest\7zTestDlg.cpp
  UnIso32.dll用の情報追加


CPP\7zip\Common\StreamUtils.cpp
CPP\7zip\Common\StreamUtils.h
  7-Zip 4.65 の変更を一部反映

CPP\7zip\UI\Common\LoadCodecs.cpp
CPP\7zip\UI\Common\OpenArchive.cpp
  7-Zip 4.65 の変更を一部反映

CPP\Common\MyMap.cpp
CPP\Common\MyMap.h
  7-Zip 4.65 のファイルを追加

CPP\Common\Types.h
  7-Zip 9.15 の UTFConvert.cpp がコンパイルできるように Bool の定義を追加

CPP\Common\UTFConvert.cpp
  7-Zip 9.15 のファイルに差し替え
  サロゲートペアが正しく変換できないのを修正するため

CPP\Common\MyInitGuid.h
CPP\Windows\System.cpp
  Platform SDK (Feb. 2003) をインストールしていない VC++ 6.0 でもコンパイル
  できるように修正

CPP\Windows\Time.cpp
CPP\Windows\Time.h
  7-Zip 4.65 のファイルを追加・差し替え


５．参照サイト
  ・統合アーカイバプロジェクト
    http://www.csdinc.co.jp/archiver/
  ・7-Zip
    http://sevenzip.sourceforge.jp/
  ・7-zip32.dll
    http://www.csdinc.co.jp/archiver/lib/7-zip32.html
    http://akky.cjb.net/
  ・ReBaseImage() -- DLL のベースアドレスについて
    http://msdn.microsoft.com/ja-jp/library/cc428982.aspx


６．履歴
  2009/02/08 Ver.4.57.00.01
    ・最初の公開バージョン。

  2009/02/15 Ver.4.57.00.02
    ・UDF に対応。

  2010/09/03 Ver.4.57.00.03
    ・UTF-16 のサロゲートペアが正しく扱えないのを修正。

  2011/02/28 Ver.4.57.00.04
    ・7-Zip 9.20 の変更を一部反映。
    ・GetSubVersionが正しいバージョンを返していなかったのを修正。


７．ライセンスおよび著作権
　本 DLL のライセンスは GNU Lesser General Public License (LGPL) です。詳細は
同梱の copying.txt を参照してください。
　7-Zip は、Igor Pavlov 氏の著作物です。
　7-zip32.dll は、秋田 稔氏の著作物です。


８．連絡先
  作者: K.Takata（高田 謙）
  URL : http://webs.to/ken/
        http://homepage3.nifty.com/k-takata/
