Condividi tramite


Funzione WriteEncryptedFileRaw (winbase.h)

Ripristina i file crittografati (importazione). Si tratta di un gruppo di funzioni EFS (Encrypted File System) destinate a implementare funzionalità di backup e ripristino, mantenendo i file nello stato crittografato.

Sintassi

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

Parametri

[in] pfImportCallback

Puntatore alla funzione di callback di importazione. Il sistema chiama la funzione di callback più volte, ogni volta che passa un buffer che verrà riempito dalla funzione di callback con una parte dei dati del file di cui è stato eseguito il backup. Quando la funzione di callback segnala che l'intero file è stato elaborato, indica al sistema che l'operazione di ripristino è stata completata. Per altre informazioni, vedere ImportCallback.

[in, optional] pvCallbackContext

Puntatore a un blocco di contesto definito dall'applicazione e allocato. Il sistema passa questo puntatore alla funzione di callback come parametro in modo che la funzione di callback possa accedere ai dati specifici dell'applicazione. Può trattarsi di una struttura e può contenere tutti i dati necessari all'applicazione, ad esempio l'handle al file che conterrà la copia di backup del file crittografato.

[in] pvContext

Puntatore a un blocco di contesto definito dal sistema. Il blocco di contesto viene restituito dalla funzione OpenEncryptedFileRaw . Non modificarla.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.

Se la funzione ha esito negativo, restituisce un codice di errore diverso da zero definito in WinError.h. È possibile usare FormatMessage con il flag FORMAT_MESSAGE_FROM_SYSTEM per ottenere una descrizione di testo generico dell'errore.

Commenti

Il file da ripristinare non viene decrittografato; viene ripristinato nello stato crittografato.

Per eseguire il backup di un file crittografato, chiamare OpenEncryptedFileRaw per aprire il file. Chiamare quindi ReadEncryptedFileRaw, passandolo all'indirizzo di una funzione di callback di esportazione definita dall'applicazione. Il sistema chiama questa funzione di callback più volte fino a quando il contenuto dell'intero file non è stato letto e sottoposto a backup. Al termine del backup, chiamare CloseEncryptedFileRaw per liberare risorse e chiudere il file. Per informazioni dettagliate su come dichiarare la funzione di callback di esportazione, vedere ExportCallback .

Per ripristinare un file crittografato, chiamare OpenEncryptedFileRaw, specificando CREATE_FOR_IMPORT nel parametro ulFlags . Chiamare quindi WriteEncryptedFileRaw, passandolo all'indirizzo di una funzione di callback di importazione definita dall'applicazione. Il sistema chiama questa funzione di callback più volte fino a quando il contenuto dell'intero file non è stato letto e ripristinato. Al termine del ripristino, chiamare CloseEncryptedFileRaw per liberare le risorse e chiudere il file. Per informazioni dettagliate su come dichiarare la funzione di callback di esportazione, vedere ImportCallback .

Se il file è un file sparse di cui è stato eseguito il backup da un volume con una dimensione di unità di allocazione di tipo sparse inferiore rispetto al volume in cui viene ripristinato, i blocchi sparse al centro del file potrebbero non essere allineati correttamente con i blocchi più grandi e la chiamata di funzione avrà esito negativo e imposterà un ERROR_INVALID_PARAMETER ultimo codice di errore. Le dimensioni dell'unità di allocazione di tipo sparse sono pari a 16 cluster o 64 KB, a qualsiasi valore inferiore.

Questa funzione è destinata al ripristino solo di file crittografati; vedere BackupWrite per il ripristino di file non crittografati.

In Windows 8, Windows Server 2012 e versioni successive questa funzione è supportata dalle tecnologie seguenti.

Tecnologia Supportato
Protocollo SMB (Server Message Block) 3.0
Failover trasparente SMB 3.0 (TFO) No
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) No
File system del volume condiviso cluster (CsvFS) No
Resilient File System (ReFS) No
 

SMB 3.0 non supporta EFS nelle condivisioni con funzionalità di disponibilità continua.

Requisiti

   
Client minimo supportato Windows XP Professional [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll
Set di API ext-ms-win-advapi32-encryptedfile-l1-1-0 (introdotto in Windows 8)

Vedi anche

BackupWrite

CloseEncryptedFileRaw

Crittografia file

Funzioni di gestione file

ImportCallback

OpenEncryptedFileRaw

ReadEncryptedFileRaw