<Return[JKL]><Top>

LZCopy

Declare Function Api_LZCopy& Lib "lz32" Alias "LZCopy" (ByVal hfSource&, ByVal hfDest&)

Declare Function LZCopy Lib "lz32" Alias "LZCopy" (ByVal hfSource As Long, ByVal hfDest As Long) As Long

元ファイルを、解凍後ファイルにコピーする。

パラメータ
hfSource
    コピー元ファイルのハンドルを指定する。
hfDest
    コピー先ファイルのハンドルを指定する。
 

戻り値
    関数が成功すると、コピー先ファイルのサイズ(バイト数)を示す値が返る。
    関数が失敗すると、LZERROR_* エラーコードが返る。このコードの値はすべて 0 より小さくなる。

    LZCopy は、SetLastError 関数も SetLastErrorEx 関数も呼び出さない。

    そのため、失敗してもスレッドの最終エラーコードは変わらない。
    LZCopy 関数が失敗すると、次のいずれかの LZERROR_* コードが返る。

    定数                                           

意味                                                                                                            

    LZERROR_BADINHANDLE

コピー元ファイルのハンドルが無効。ファイルを読み取ることができない。

    LZERROR_BADOUTHANDLE

コピー先ファイルのハンドルが無効。ファイルを書き込むことができない。

    LZERROR_GLOBALLOC

開くことができる圧縮ファイルの最大数を超えたか、ローカルメモリを確保できない。

    LZERROR_GLOBLOCK LZ

ファイルハンドルをロックできない。

    LZERROR_READ

コピー元ファイルの形式が無効。

    拡張エラー情報がないため、GetLastError 関数は使わないこと。

解説
    コピー元ファイルとコピー先ファイルのハンドルは、LZInit 関数または LZOpenFile 関数を使って取得したものでなければならない。
    ファイルをコピーするときは LZCopy 関数を使う。CopyLZFile 関数は、16 ビット版 Windows との互換性のために提供されている。
    関数が成功すると、hfDest パラメータで指定したファイルは解凍される。