Condividi tramite


Funzione OpenEncryptedFileRawA (winbase.h)

Apre un file crittografato per eseguire il backup (esportazione) o il ripristino (importazione) del file. 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 OpenEncryptedFileRawA(
  [in]  LPCSTR lpFileName,
  [in]  ULONG  ulFlags,
  [out] PVOID  *pvContext
);

Parametri

[in] lpFileName

Nome del file da aprire. La stringa deve essere costituita da caratteri del set di caratteri di Windows.

[in] ulFlags

Operazione da eseguire. Questo parametro può essere uno dei valori seguenti.

Valore Significato
0
Aprire il file per l'esportazione (backup).
CREATE_FOR_IMPORT
1
Il file viene aperto per l'importazione (ripristino).
CREATE_FOR_DIR
2
Importare (ripristinare) una directory contenente file crittografati. Questa operazione deve essere combinata con uno dei due flag precedenti per indicare l'operazione.
OVERWRITE_HIDDEN
4
Sovrascrivere un file nascosto durante l'importazione.

[out] pvContext

Indirizzo di un blocco di contesto che deve essere presentato nelle chiamate successive a ReadEncryptedFileRaw, WriteEncryptedFileRawo CloseEncryptedFileRaw. Non modificarlo.

Valore restituito

Se la funzione ha esito positivo, restituisce 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.

Osservazioni

Il chiamante deve avere accesso in lettura o scrittura al file oppure deve disporre del privilegio di backup SeBackupPrivilege nel computer in cui risiedono i file affinché la chiamata abbia esito positivo.

Per eseguire il backup di un file crittografato, chiamare OpenEncryptedFileRaw per aprire il file e quindi chiamare ReadEncryptedFileRaw. Al termine del backup, chiamare CloseEncryptedFileRaw.

Per ripristinare un file crittografato, chiamare OpenEncryptedFileRaw, specificando CREATE_FOR_IMPORT nel parametro ulFlags e quindi chiamare WriteEncryptedFileRaw una sola volta. Al termine dell'operazione, chiamare CloseEncryptedFileRaw.

OpenEncryptedFileRaw ha esito negativo se lpFileName supera i MAX_PATH caratteri durante l'apertura di un file crittografato in un computer remoto.

Se il chiamante non ha accesso alla chiave per il file, il chiamante deve SeBackupPrivilege per esportare file crittografati o SeRestorePrivilege per importare file crittografati.

Le funzioni di BackupRead e BackupWrite gestiscono il backup e il ripristino di file non crittografati.

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

Tecnologia Sostenuto
Protocollo SMB (Server Message Block) 3.0
SMB 3.0 Transparent Failover (TFO) No
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO) No
Cluster Shared Volume File System (CsvFS) No
Resilient File System (ReFS) No
 

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

Nota

L'intestazione winbase.h definisce OpenEncryptedFileRaw come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP Professional [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
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)

Vedere anche

BackupRead

BackupWrite

CloseEncryptedFileRaw

di crittografia file

funzioni di gestione file

ReadEncryptedFileRaw

WriteEncryptedFileRaw