Fonction LZOpenFileA (lzexpand.h)
Crée, ouvre, rouvre ou supprime le fichier spécifié.
Syntaxe
INT LZOpenFileA(
[in] LPSTR lpFileName,
[out] LPOFSTRUCT lpReOpenBuf,
[in] WORD wStyle
);
Paramètres
[in] lpFileName
Nom du fichier.
[out] lpReOpenBuf
Pointeur vers la structure OFSTRUCT qui doit recevoir des informations sur le fichier lors de la première ouverture du fichier. La structure peut être utilisée dans les appels suivants à la fonction LZOpenFile pour afficher le fichier ouvert.
Le membre szPathName de cette structure contient des caractères provenant du jeu de caractères oem d’origine.
[in] wStyle
Action à entreprendre. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.
Valeur | Signification |
---|---|
|
Ignoré. Fourni uniquement pour la compatibilité avec Windows 16 bits. Utilisez le style OF_PROMPT pour afficher une boîte de dialogue contenant un bouton Annuler . |
|
Dirige LZOpenFile pour créer un fichier. Si le fichier existe déjà, il est tronqué à zéro longueur. |
|
Supprime le fichier. |
|
Ouvre le fichier, puis le ferme pour tester l’existence d’un fichier. |
|
Remplit la structure OFSTRUCT , mais n’effectue aucune autre action. |
|
Affiche une boîte de dialogue si le fichier demandé n’existe pas. La boîte de dialogue informe l’utilisateur que le système ne trouve pas le fichier et qu’elle contient les boutons Réessayer et Annuler . En cliquant sur le bouton Annuler , LZOpenFile renvoie un message d’erreur de fichier introuvable. |
|
Ouvre le fichier pour un accès en lecture uniquement. |
|
Ouvre le fichier pour la lecture et l’écriture. |
|
Ouvre le fichier à l’aide d’informations dans la mémoire tampon de réouverture. |
|
Ouvre le fichier sans refuser l’accès en lecture ou en écriture à d’autres processus au fichier. LZOpenFile échoue si le fichier a été ouvert en mode de compatibilité par un autre processus. |
|
Ouvre le fichier et refuse à d’autres processus l’accès en lecture au fichier. LZOpenFile échoue si le fichier a été ouvert en mode de compatibilité ou a été ouvert pour l’accès en lecture par tout autre processus. |
|
Ouvre le fichier et refuse l’accès en écriture à d’autres processus au fichier. LZOpenFile échoue si le fichier a été ouvert en mode de compatibilité ou a été ouvert pour l’accès en écriture par tout autre processus. |
|
Ouvre le fichier en mode exclusif, ce qui refuse à d’autres processus l’accès en lecture et en écriture au fichier. LZOpenFile échoue si le fichier a été ouvert dans un autre mode pour l’accès en lecture ou en écriture, même par le processus en cours. |
|
Ouvre le fichier pour l'accès en écriture uniquement. |
Valeur retournée
Si la fonction réussit et que la valeur spécifiée par le paramètre wStyle n’est pas OF_READ, la valeur de retour est un handle identifiant le fichier. Si le fichier est compressé et ouvert avec wStyle défini sur OF_READ, la valeur de retour est un handle de fichier spécial.
Si la fonction échoue, la valeur de retour est un code LZERROR_* . Ces codes ont des valeurs inférieures à zéro. Il n’existe aucune information d’erreur étendue pour cette fonction ; n’appelez pas GetLastError.
Code/valeur de retour | Description |
---|---|
|
Le handle identifiant le fichier source n’est pas valide. Impossible de lire le fichier. |
|
Le nombre maximal de fichiers compressés ouverts a été dépassé ou la mémoire locale ne peut pas être allouée. |
Remarques
Si le paramètre wStyle est l’indicateur OF_READ (ou OF_READ et l’un des indicateurs OF_SHARE_* ) et que le fichier est compressé, LZOpenFile appelle la fonction LZInit , qui effectue l’initialisation requise pour les opérations de décompression.
Le handle que cette fonction retourne n’est compatible qu’avec les fonctions dans Lz32.dll ; il ne doit pas être utilisé pour d’autres opérations de fichier.
Si LZOpenFile ne parvient pas à ouvrir le fichier spécifié par lpFileName, sur certaines versions de Windows, il tente d’ouvrir un fichier portant presque le même nom de fichier, sauf que le dernier caractère est remplacé par un trait de soulignement (« »). Ainsi, si une tentative d’ouverture de « MyProgram.exe » échoue, LZOpenFile tente d’ouvrir « MyProgram.ex ». Les packages d’installation remplacent souvent le trait de soulignement par la dernière lettre d’une extension de nom de fichier pour indiquer que le fichier est compressé. Par exemple, « MyProgram.exe » compressé peut être nommé « MyProgram.ex_ ». Pour déterminer le nom du fichier ouvert (le cas échéant), examinez le membre szPathName de la structure OFSTRUCT dans le paramètre lpReOpenBuf .
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.
Notes
L’en-tête lzexpand.h définit LZOpenFile en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
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