Fonction WriteEncryptedFileRaw (winbase.h)

Restauration (importation) de fichiers chiffrés. Il s’agit d’un groupe de fonctions EFS (Encrypted File System) destinées à implémenter des fonctionnalités de sauvegarde et de restauration, tout en conservant les fichiers dans leur état chiffré.

Syntaxe

DWORD WriteEncryptedFileRaw(
  [in]           PFE_IMPORT_FUNC pfImportCallback,
  [in, optional] PVOID           pvCallbackContext,
  [in]           PVOID           pvContext
);

Paramètres

[in] pfImportCallback

Pointeur vers la fonction de rappel d’importation. Le système appelle la fonction de rappel plusieurs fois, à chaque passage d’une mémoire tampon qui sera remplie par la fonction de rappel avec une partie des données du fichier sauvegardé. Lorsque la fonction de rappel signale que le fichier entier a été traité, elle indique au système que l’opération de restauration est terminée. Pour plus d’informations, consultez ImportCallback.

[in, optional] pvCallbackContext

Pointeur vers un bloc de contexte défini par l’application et alloué. Le système transmet ce pointeur à la fonction de rappel en tant que paramètre afin que la fonction de rappel puisse avoir accès aux données spécifiques de l’application. Il peut s’agir d’une structure et peut contenir toutes les données dont l’application a besoin, telles que le handle du fichier qui contiendra la copie de sauvegarde du fichier chiffré.

[in] pvContext

Pointeur vers un bloc de contexte défini par le système. Le bloc de contexte est retourné par la fonction OpenEncryptedFileRaw . Ne la modifiez pas.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, elle retourne un code d’erreur différent de zéro défini dans WinError.h. Vous pouvez utiliser FormatMessage avec l’indicateur FORMAT_MESSAGE_FROM_SYSTEM pour obtenir une description textuelle générique de l’erreur.

Remarques

Le fichier en cours de restauration n’est pas déchiffré ; il est restauré dans son état chiffré.

Pour sauvegarder un fichier chiffré, appelez OpenEncryptedFileRaw pour ouvrir le fichier. Appelez ensuite ReadEncryptedFileRaw, en lui transmettant l’adresse d’une fonction de rappel d’exportation définie par l’application. Le système appelle cette fonction de rappel plusieurs fois jusqu’à ce que le contenu du fichier entier ait été lu et sauvegardé. Une fois la sauvegarde terminée, appelez CloseEncryptedFileRaw pour libérer des ressources et fermez le fichier. Pour plus d’informations sur la déclaration de la fonction de rappel d’exportation, consultez ExportCallback .

Pour restaurer un fichier chiffré, appelez OpenEncryptedFileRaw, en spécifiant CREATE_FOR_IMPORT dans le paramètre ulFlags . Ensuite, appelez WriteEncryptedFileRaw, en lui transmettant l’adresse d’une fonction de rappel d’importation définie par l’application. Le système appelle cette fonction de rappel plusieurs fois jusqu’à ce que le contenu du fichier entier ait été lu et restauré. Une fois la restauration terminée, appelez CloseEncryptedFileRaw pour libérer des ressources et fermez le fichier. Pour plus d’informations sur la déclaration de la fonction de rappel d’exportation, consultez ImportCallback .

Si le fichier est un fichier partiellement alloué qui a été sauvegardé à partir d’un volume avec une taille d’unité d’allocation éparse inférieure à celle du volume sur lequel il est restauré, les blocs éparses au milieu du fichier peuvent ne pas s’aligner correctement sur les blocs plus grands et l’appel de fonction échouerait et définirait un ERROR_INVALID_PARAMETER dernier code d’erreur. La taille de l’unité d’allocation éparse est de 16 clusters ou de 64 Ko, selon la taille la plus petite.

Cette fonction est destinée à restaurer uniquement les fichiers chiffrés ; consultez BackupWrite pour la restauration de fichiers non chiffrés.

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) Non
 

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

Configuration requise

   
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

BackupWrite

CloseEncryptedFileRaw

Chiffrement de fichiers

Fonctions de gestion des fichiers

ImportCallback

OpenEncryptedFileRaw

ReadEncryptedFileRaw