EncryptFileA, fonction (winbase.h)

Chiffre un fichier ou un répertoire. Tous les flux de données d’un fichier sont chiffrés. Tous les nouveaux fichiers créés dans un répertoire chiffré sont chiffrés.

Syntaxe

BOOL EncryptFileA(
  [in] LPCSTR lpFileName
);

Paramètres

[in] lpFileName

Nom du fichier ou du répertoire à chiffrer.

L’appelant doit disposer des droits d’accès FILE_READ_DATA, FILE_WRITE_DATA, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES et SYNCHRONIZE . Pour plus d’informations, consultez Sécurité des fichiers et droits d’accès.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction EncryptFile nécessite un accès exclusif au fichier chiffré et échoue si un autre processus utilise le fichier.

Si le fichier est déjà chiffré, EncryptFile retourne simplement une valeur différente de zéro, ce qui indique la réussite. Si le fichier est compressé, EncryptFile décompresse le fichier avant de le chiffrer.

Si lpFileName spécifie un fichier en lecture seule, la fonction échoue et GetLastError retourne ERROR_FILE_READ_ONLY. Si lpFileName spécifie un répertoire qui contient un fichier en lecture seule, les fonctions réussissent, mais le répertoire n’est pas chiffré.

Pour déchiffrer un fichier chiffré, utilisez la fonction DecryptFile.

Dans Windows 8, Windows Server 2012 et versions ultérieures, 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) No
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) No
Système de fichiers du volume partagé de cluster (CsvFS) No
Système de fichiers résilient (ReFS) No
 

SMB 3.0 ne prend pas en charge EFS sur les partages avec une fonctionnalité de disponibilité continue.

Notes

L’en-tête winbase.h définit EncryptFile comme un 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. Le mélange 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 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll
Ensemble d’API ext-ms-win-advapi32-encryptedfile-l1-1-0 (introduit dans Windows 8)

Voir aussi

DecryptFile

Chiffrement de fichiers

Fonctions de gestion des fichiers