LZRead 関数 (lzexpand.h)
指定したバイト数 (最大) をファイルから読み取り、バッファーにコピーします。
構文
INT LZRead(
[in] INT hFile,
[out] CHAR *lpBuffer,
[in] INT cbRead
);
パラメーター
[in] hFile
ファイルへのハンドル。
[out] lpBuffer
ファイルから読み取られたバイトを受け取るバッファーへのポインター。 このバッファーが cbRead より大きくなるようにします。
[in] cbRead
読み取るバイト数。
戻り値
関数が成功した場合、戻り値は読み取られたバイト数を指定します。
関数が失敗した場合、戻り値はLZERROR_* コードです。 これらのコードの値は 0 未満です。 LZRead では SetLastError も SetLastErrorEx も呼び出しません。したがって、そのエラーはスレッドの最後のエラー コードには影響しません。
エラー時に LZRead が返すことができるエラー コードの一覧を次に示します。
リターン コード | 説明 |
---|---|
|
ソース ファイルを識別するハンドルが無効です。 ファイルを読み取ることができません。 |
|
宛先ファイルを識別するハンドルが無効です。 ファイルを書き込むことができません。 |
|
入力パラメーターの 1 つが無効です。 |
|
開いている圧縮ファイルの最大数を超えているか、ローカル メモリを割り当てることができません。 |
|
LZ ファイル ハンドルをロックダウンすることはできません。 |
|
ソース ファイルの形式が無効です。 |
|
出力ファイルの領域が不足しています。 |
この関数の拡張エラー情報はありません。 GetLastError を呼び出さないでください。
解説
ファイルを識別するハンドルは、 LZInit 関数または LZOpenFile 関数を呼び出して取得する必要があります。
ファイルが圧縮されている場合、 LZRead はファイルの展開されたイメージに対して動作し、指定されたバッファーにデータのバイトをコピーします。
Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。
テクノロジ | サポートされています |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | はい |
SMB 3.0 Transparent Failover (TFO) | はい |
スケールアウト ファイル共有 (SO) を使う SMB 3.0 | はい |
クラスターの共有ボリューム ファイル システム (CsvFS) | はい |
Resilient File System (ReFS) | はい |
CsvFs によって、圧縮されたファイルのリダイレクトされた IO が実行されます。
必要条件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | lzexpand.h (Windows.h を含む) |
Library | Lz32.lib |
[DLL] | Lz32.dll |