<Return[JKL]><Top>

LZOpenFile

Declare Function Api_LZOpenFile& Lib "lz32" Alias "LZOpenFileA" (ByVal lpszFile$, lpOf As OFSTRUCT, ByVal style&)

Declare Function LZOpenFile Lib "lz32" Alias "LZOpenFileA" (ByVal lpszFile As String, lpOf As OFSTRUCT, ByVal style As Long) As Long

解凍するファイルと、解凍後のファイルのハンドルを取得する。

パラメータ
lpFileName
    ファイルの名前を表す文字列へのポインタを指定する。
lpReOpenBuf
    ファイルを最初に開いたときにそのファイルの情報を受け取る OFSTRUCT 構造体へのポインタを指定する。

    この構造体は、次に LZOpenFile 関数を呼び出して開いているファイルを参照するときに利用できる。
    この構造体の szPathName メンバには、OEM(Original Equipment Manufacturer)文字セットの文字が含まれる。
wStyle
    実行する操作を指定する。次のフラグを組み合わせて使う。
    フラグ                                      意味                                                                  
    OF_CANCEL                          無視される。Win32 API では、OF_PROMPT フラグをセットすることで、[キャンセル]ボタンのあるダイ

                                                   アログボックスを作成できる。
    OF_CREATE                           新しいファイルを作成する。ファイルがすでに存在するときは、長さが 0 のファイルになる。
    OF_DELETE                           ファイルを削除する。
    OF_EXIST                               ファイルを開いた後、それを閉じてファイルの存在を確認する。
    OF_PARSE                              OFSTRUCT 構造体にデータを格納し、ほかの操作は実行しない。
    OF_PROMPT                          要求したファイルが存在しないときは、ダイアログボックスを表示し、ファイルが見つからないことをユーザー

                                                    に通知する。このダイアログボックスには、[再試行]ボタンと[キャンセル]ボタンがあり、ユーザーが

                                                  [キャンセル]ボタンをクリックすると、ファイルが見つからなかったことを知らせるエラーメッセージが返る。
    OF_READ                                ファイルを読み取り専用で開く。
    OF_READWRITE                     ファイルを読み書き用に開く。
    OF_REOPEN                           再オープンバッファに入っている情報を使ってファイルを開く。
    OF_SHARE_DENY_NONE      ファイルを開く。ほかのプロセスによるファイルへの読み書きアクセスを拒否しない。

                                                   ほかのプロセスが同じファイルを互換性モードで開いていると、関数は失敗する。
    OF_SHARE_DENY_READ        ファイルを開き、ほかのプロセスによるファイルの読み取りアクセスを拒否する。

                                                    ほかのプロセスが同じファイルを互換性モードで開いているか、読み取りアクセス用に開いていると、関数

                                                    は失敗する。
    OF_SHARE_DENY_WRITE      ファイルを開き、ほかのプロセスによるファイルへの書き込みを拒否する。

                                                    ほかのプロセスが同じファイルを互換性モードで開いているか、書き込みアクセス用に開いていると、関数

                                                    は失敗する。
    OF_SHARE_EXCLUSIVE        ファイルを排他モードで開き、ほかのプロセスによるファイルの読み取りと書き込みの両方を拒否する。

                                                   ファイルが読み取りまたは書き込みのほかのモードで開いていると、ファイルを開いたのが同じプロセスであ

                                                   っても、関数は失敗する。
    OF_WRITE                             ファイルを書き込み専用で開く。

戻り値
    wStyle パラメータで OF_READ 以外のフラグをセットし、関数が成功すると、ファイルのハンドルが返る。

    ファイルが圧縮されている場合は、wStyle パラメータで OF_READ フラグをセットし、関数が成功すると、指定したファイルのハンドルが返

    る。
    関数が失敗すると、LZERROR_* エラーコードが返る。このコードの値はすべて 0 より小さくなる。

    拡張エラー情報がないため、GetLastError 関数は使わないこと。
    注)LZOpenFile 関数は、SetLastError 関数も SetLastErrorEx 関数も呼び出さない。

         失敗しても、スレッドの最終エラーコードは変わらない。
    LZOpenFile 関数が失敗すると、次のいずれかの LZERROR_* コードが返る。
    定数                                         意味                                                       
    LZERROR_BADINHANDLE     操作対象ファイルのハンドルが無効。ファイルを読み取ることができない。
    LZERROR_GLOBALLOC          開くことができる圧縮ファイルの最大数を超えたか、ローカルメモリを確保できない。