WofSetFileDataLocation, fonction (wofapi.h)

Permet de remplacer un fichier sauvegardé par un fichier physique par un fichier sauvegardé par un fournisseur de données système.

Syntaxe

HRESULT WofSetFileDataLocation(
  [in] HANDLE FileHandle,
  [in] ULONG  Provider,
  [in] PVOID  ExternalFileInfo,
  [in] ULONG  Length
);

Paramètres

[in] FileHandle

Handle d’un fichier ouvert avec CreateFile ou une API similaire.

[in] Provider

Indique le fournisseur qui sauvegarde ce fichier. Les fournisseurs actuellement définis sont les suivants :

WOF_PROVIDER_WIM Indique que les données du fichier doivent être obtenues à partir d’un fichier WIM. Lors de l’accès, les données sont extraites en toute transparence du fichier WIM et fournies aux applications. Si le contenu du fichier est modifié, les données sont décompressées en toute transparence et le fichier est restauré sous la même forme physique que celle qu’il avait si cette API n’était pas utilisée.
WOF_PROVIDER_FILE Indique que les données du fichier doivent être compressées et stockées avec le fichier lui-même. Lors de l’accès, les données sont décompressées en toute transparence et fournies aux applications. Si le contenu du fichier est modifié, les données sont décompressées en toute transparence et le fichier est restauré sous la même forme physique que celle qu’il avait si cette API n’était pas utilisée. Ce fournisseur nécessite Windows 10.

[in] ExternalFileInfo

Fournit des données spécifiques au fournisseur spécifié. Les structures de données pour chaque fournisseur défini sont les suivantes :

WOF_PROVIDER_WIM WIM_EXTERNAL_FILE_INFO
WOF_PROVIDER_FILE WOF_FILE_COMPRESSION_INFO

[in] Length

Spécifie la longueur des données spécifiques au fournisseur, en octets. Cela doit correspondre aux structures définies ci-dessus :

WOF_PROVIDER_WIM sizeof(WIM_EXTERNAL_FILE_INFO)
WOF_PROVIDER_FILE sizeof(WOF_FILE_COMPRESSION_INFO)

Valeur retournée

Cette fonction retourne un HRESULT indiquant la réussite ou la raison de l’échec.

Remarques

Lors de l’utilisation de WOF_PROVIDER_FILE, l’opération peut échouer avec ERROR_COMPRESSION_NOT_BENEFICIAL. Cela indique qu’une tentative de compression des données a été effectuée, mais qu’aucun espace disque n’a été enregistré. Le fichier n’a donc pas été compressé. Pour la plupart des applications, cela peut être traité comme une condition de réussite.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête wofapi.h
Bibliothèque Wofutil.lib
DLL Wofutil.dll

Voir aussi

FSCTL_SET_EXTERNAL_BACKING