Condividi tramite


Funzione WofSetFileDataLocation (wofapi.h)

Usato per modificare un file da essere supportato da un file fisico a uno supportato da un provider di dati di sistema.

Sintassi

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

Parametri

[in] FileHandle

Handle a un file aperto con CreateFile o un'API simile.

[in] Provider

Indica quale provider esegue il backup di questo file. I provider attualmente definiti sono:

WOF_PROVIDER_WIM Indica che i dati per il file devono essere ottenuti da un file WIM. In caso di accesso, i dati vengono estratti in modo trasparente dal file WIM e forniti alle applicazioni. Se il contenuto del file viene modificato, i dati vengono decompressi in modo trasparente e il file viene ripristinato nella stessa forma fisica che aveva se questa API non è stata usata.
WOF_PROVIDER_FILE Indica che i dati per il file devono essere compressi e archiviati con il file stesso. In caso di accesso, i dati vengono decompressi in modo trasparente e forniti alle applicazioni. Se il contenuto del file viene modificato, i dati vengono decompressi in modo trasparente e il file viene ripristinato nella stessa forma fisica che aveva se questa API non è stata usata. Questo provider richiede Windows 10.

[in] ExternalFileInfo

Fornisce dati specifici del provider specificato. Le strutture di dati per ogni provider definito sono:

WOF_PROVIDER_WIM WIM_EXTERNAL_FILE_INFO
WOF_PROVIDER_FILE WOF_FILE_COMPRESSION_INFO

[in] Length

Specifica la lunghezza dei dati specifici del provider, in byte. Ciò deve corrispondere alle strutture definite in precedenza:

WOF_PROVIDER_WIM sizeof(WIM_EXTERNAL_FILE_INFO)
WOF_PROVIDER_FILE sizeof(WOF_FILE_COMPRESSION_INFO)

Valore restituito

Questa funzione restituisce un valore HRESULT che indica l'esito positivo o il motivo dell'errore.

Commenti

Quando si usa WOF_PROVIDER_FILE, l'operazione potrebbe non riuscire con ERROR_COMPRESSION_NOT_BENEFICIAL. Ciò indica che è stato eseguito un tentativo di compressione dei dati, ma non è stato salvato spazio su disco, quindi il file non è stato compresso. Per la maggior parte delle applicazioni, questo può essere considerato come una condizione di esito positivo.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione wofapi.h
Libreria Wofutil.lib
DLL Wofutil.dll

Vedi anche

FSCTL_SET_EXTERNAL_BACKING