Funzione EncryptFileA (winbase.h)
Crittografa un file o una directory. Tutti i flussi di dati in un file vengono crittografati. Tutti i nuovi file creati in una directory crittografata vengono crittografati.
Sintassi
BOOL EncryptFileA(
[in] LPCSTR lpFileName
);
Parametri
[in] lpFileName
Nome del file o della directory da crittografare.
Il chiamante deve avere i diritti di accesso FILE_READ_DATA, FILE_WRITE_DATA, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTESe SYNCHRONIZE. Per altre informazioni, vedere File Security and Access Rights.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
La funzione EncryptFile
Se il file è già crittografato, EncryptFile restituisce semplicemente un valore diverso da zero, che indica l'esito positivo. Se il file è compresso, EncryptFile decomprimerà il file prima di crittografarlo.
Se lpFileName specifica un file di sola lettura, la funzione ha esito negativo e GetLastError restituisce ERROR_FILE_READ_ONLY. Se lpFileName specifica una directory contenente un file di sola lettura, le funzioni hanno esito positivo ma la directory non è crittografata.
Per decrittografare un file crittografato, usare la funzione DecryptFile.
In Windows 8, Windows Server 2012 e versioni successive, questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Sostenuto |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
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 EncryptFile 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) |