Partager via


Fonction LZRead (lzexpand.h)

Lit (au maximum) le nombre d’octets spécifié dans un fichier et les copie dans une mémoire tampon.

Syntaxe

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

Paramètres

[in] hFile

Descripteur du fichier.

[out] lpBuffer

Pointeur vers une mémoire tampon qui reçoit les octets lus à partir du fichier. Assurez-vous que cette mémoire tampon est plus grande que cbRead.

[in] cbRead

Nombre d’octets à lire.

Valeur retournée

Si la fonction réussit, la valeur de retour spécifie le nombre d’octets lus.

Si la fonction échoue, la valeur de retour est un code LZERROR_*. Ces codes ont des valeurs inférieures à zéro. Notez que LZRead n’appelle ni SetLastError, ni SetLastErrorEx ; par conséquent, son échec n’affecte pas le code de dernière erreur d’un thread.

Voici la liste des codes d’erreur que LZRead peut retourner en cas d’échec.

Code de retour Description
LZERROR_BADINHANDLE
Le handle identifiant le fichier source n’est pas valide. Impossible de lire le fichier.
LZERROR_BADOUTHANDLE
Le handle identifiant le fichier de destination n’est pas valide. Impossible d’écrire le fichier.
LZERROR_BADVALUE
L’un des paramètres d’entrée n’est pas valide.
LZERROR_GLOBALLOC
Le nombre maximal de fichiers compressés ouverts a été dépassé ou la mémoire locale ne peut pas être allouée.
LZERROR_GLOBLOCK
Le handle de fichier LZ ne peut pas être verrouillé.
LZERROR_READ
Le format de fichier source n’est pas valide.
LZERROR_WRITE
L’espace est insuffisant pour le fichier de sortie.
 

Il n’existe aucune information d’erreur étendue pour cette fonction ; n’appelez pas GetLastError.

Notes

Le handle identifiant le fichier doit être récupéré en appelant la fonction LZInit ou LZOpenFile .

Si le fichier est compressé, LZRead fonctionne sur une image développée du fichier et copie les octets de données dans la mémoire tampon spécifiée.

Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.

Technologie Prise en charge
Protocole Server Message Block (SMB) 3.0 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Système de fichiers du volume partagé de cluster (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui
 

CsvFs effectue les E/S redirigées pour les fichiers compressés.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête lzexpand.h (inclure Windows.h)
Bibliothèque Lz32.lib
DLL Lz32.dll

Voir aussi

Compression et décompression de fichiers

Fonctions de gestion des fichiers

LZInit

LZOpenFile

LZSeek