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