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_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 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 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
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)

Vedere anche

DecryptFile

di crittografia file

funzioni di gestione file