Freigeben über


EncryptFileA-Funktion (winbase.h)

Verschlüsselt eine Datei oder ein Verzeichnis. Alle Datenströme in einer Datei werden verschlüsselt. Alle neuen Dateien, die in einem verschlüsselten Verzeichnis erstellt werden, werden verschlüsselt.

Syntax

BOOL EncryptFileA(
  [in] LPCSTR lpFileName
);

Parameter

[in] lpFileName

Der Name der zu verschlüsselnden Datei oder des Verzeichnisses.

Der Aufrufer muss über die Zugriffsrechte FILE_READ_DATA, FILE_WRITE_DATA, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES und SYNCHRONIZE verfügen. Weitere Informationen finden Sie unter Dateisicherheit und Zugriffsrechte.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die EncryptFile-Funktion erfordert exklusiven Zugriff auf die verschlüsselte Datei und schlägt fehl, wenn ein anderer Prozess die Datei verwendet.

Wenn die Datei bereits verschlüsselt ist, gibt EncryptFile einfach einen nonzero-Wert zurück, der auf Erfolg hinweist. Wenn die Datei komprimiert ist, dekomprimiert EncryptFile die Datei, bevor sie verschlüsselt wird.

Wenn lpFileName eine schreibgeschützte Datei angibt, schlägt die Funktion fehl, und GetLastError gibt ERROR_FILE_READ_ONLY zurück. Wenn lpFileName ein Verzeichnis angibt, das eine schreibgeschützte Datei enthält, sind die Funktionen erfolgreich, aber das Verzeichnis wird nicht verschlüsselt.

Verwenden Sie zum Entschlüsseln einer verschlüsselten Datei die Funktion DecryptFile.

In Windows 8, Windows Server 2012 und höher wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Unterstützt
SMB 3.0-Protokoll (Server Message Block) Ja
SMB 3.0 Transparent Failover (TFO) No
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) No
Dateisystem mit freigegebenen Clustervolumes (CsvFS) No
Robustes Dateisystem (Resilient File System, ReFS) No
 

SMB 3.0 unterstützt EFS für Freigaben mit Continuous Availability-Funktion nicht.

Hinweis

Der winbase.h-Header definiert EncryptFile als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (einschließlich Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll
APIs ext-ms-win-advapi32-encryptedfile-l1-1-0 (eingeführt in Windows 8)

Weitere Informationen

DecryptFile

Dateiverschlüsselung

Dateiverwaltungsfunktionen