LZRead 函式 (lzexpand.h)
從檔案讀取 (最多) 指定的位元組數目,並將其複製到緩衝區。
語法
INT LZRead(
[in] INT hFile,
[out] CHAR *lpBuffer,
[in] INT cbRead
);
參數
[in] hFile
檔案的控制碼。
[out] lpBuffer
接收從檔案讀取位元組的緩衝區指標。 請確定此緩衝區大於 cbRead。
[in] cbRead
要讀取的位元組計數。
傳回值
如果函式成功,傳回值會指定讀取的位元組數目。
如果函式失敗,傳回值為LZERROR_* 程式碼。 這些代碼的值小於零。 請注意, LZRead 不會呼叫 SetLastError 或 SetLastErrorEx;因此,其失敗不會影響執行緒的最後一個錯誤碼。
以下是 LZRead 在失敗時可傳回的錯誤碼清單。
傳回碼 | 描述 |
---|---|
|
識別來源檔案的控制碼無效。 無法讀取檔案。 |
|
識別目的地檔案的控制碼無效。 無法寫入檔案。 |
|
其中一個輸入參數無效。 |
|
已超過開啟壓縮檔案的數目上限,或無法配置本機記憶體。 |
|
LZ 檔案控制碼無法鎖定。 |
|
來源檔案格式無效。 |
|
輸出檔案的空間不足。 |
此函式沒有擴充的錯誤資訊;請勿呼叫 GetLastError。
備註
必須藉由呼叫 LZInit 或 LZOpenFile 函式來擷取識別檔案的控制碼。
如果壓縮檔案, LZRead 會在檔案的展開映射上運作,並將資料的位元組複製到指定的緩衝區。
在 Windows 8 和 Windows Server 2012 中,下列技術支援此函式。
技術 | 支援 |
---|---|
伺服器訊息區 (SMB) 3.0 通訊協定 | 是 |
SMB 3.0 透明容錯移轉 (TFO) | 是 |
具有向外延展檔案共用的 SMB 3.0 (SO) | 是 |
叢集共用磁片區檔案系統 (CsvFS) | 是 |
彈性檔案系統 (ReFS) | 是 |
CsvF 會針對壓縮檔進行重新導向的 IO。
需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | lzexpand.h (包含 Windows.h) |
程式庫 | Lz32.lib |
Dll | Lz32.dll |