Freigeben über


LZRead-Funktion (lzexpand.h)

Liest (höchstens) die angegebene Anzahl von Bytes aus einer Datei und kopiert sie in einen Puffer.

Syntax

INT LZRead(
  [in]  INT  hFile,
  [out] CHAR *lpBuffer,
  [in]  INT  cbRead
);

Parameter

[in] hFile

Ein Handle zur Datei.

[out] lpBuffer

Ein Zeiger auf einen Puffer, der die aus der Datei gelesenen Bytes empfängt. Stellen Sie sicher, dass dieser Puffer größer als cbRead ist.

[in] cbRead

Die Anzahl der zu lesenden Bytes.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt der Rückgabewert die Anzahl der gelesenen Bytes an.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein LZERROR_*-Code. Diese Codes haben Werte kleiner als 00. Beachten Sie, dass LZRead weder SetLastError noch SetLastErrorEx aufruft. daher wirkt sich sein Fehler nicht auf den Code des letzten Fehlers eines Threads aus.

Im Folgenden finden Sie die Liste der Fehlercodes, die LZRead bei einem Fehler zurückgeben kann.

Rückgabecode Beschreibung
LZERROR_BADINHANDLE
Das Handle, das die Quelldatei identifiziert, ist ungültig. Die Datei kann nicht gelesen werden.
LZERROR_BADOUTHANDLE
Das Handle, das die Zieldatei identifiziert, ist ungültig. Die Datei kann nicht geschrieben werden.
LZERROR_BADVALUE
Einer der Eingabeparameter ist ungültig.
LZERROR_GLOBALLOC
Die maximale Anzahl geöffneter komprimierter Dateien wurde überschritten, oder der lokale Arbeitsspeicher kann nicht zugewiesen werden.
LZERROR_GLOBLOCK
Das LZ-Dateihandle kann nicht gesperrt werden.
LZERROR_READ
Das Quelldateiformat ist ungültig.
LZERROR_WRITE
Für die Ausgabedatei ist nicht genügend Speicherplatz vorhanden.
 

Es gibt keine erweiterten Fehlerinformationen für diese Funktion. Rufen Sie GetLastError nicht auf.

Hinweise

Das Handle, das die Datei identifiziert, muss durch Aufrufen der Funktion LZInit oder LZOpenFile abgerufen werden.

Wenn die Datei komprimiert ist, arbeitet LZRead mit einem erweiterten Image der Datei und kopiert die Datenbytes in den angegebenen Puffer.

Unter Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Unterstützt
SMB 3.0-Protokoll (Server Message Block) Ja
SMB 3.0 Transparent Failover (TFO) Ja
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) Ja
Dateisystem mit freigegebenen Clustervolumes (CsvFS) Ja
Robustes Dateisystem (Resilient File System, ReFS) Ja
 

CsvFs leiten E/A für komprimierte Dateien um.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile lzexpand.h (einschließlich Windows.h)
Bibliothek Lz32.lib
DLL Lz32.dll

Weitere Informationen

Komprimierung und Dekomprimierung von Dateien

Dateiverwaltungsfunktionen

LZInit

LZOpenFile

LZSeek