Condividi tramite


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_ATTRIBUTES e SYNC . Per altre informazioni, vedere Sicurezza file e diritti di accesso.

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 informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

La funzione EncryptFile richiede l'accesso esclusivo al file crittografato e avrà esito negativo se un altro processo usa il file.

Se il file è già crittografato, EncryptFile restituisce semplicemente un valore diverso da zero, che indica l'esito positivo. Se il file è compresso, EncryptFile decompresse 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 viene 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 Supportato
Protocollo SMB (Server Message Block) 3.0
Failover trasparente SMB 3.0 (TFO) No
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO) No
File system del volume condiviso del cluster (CsvFS) No
File system resiliente (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 di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
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

DecrittografaFile

Crittografia file

Funzioni di gestione file