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 wurden, werden verschlüsselt.

Syntax

BOOL EncryptFileA(
  [in] LPCSTR lpFileName
);

Parameter

[in] lpFileName

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

Der Anrufer muss über die FILE_READ_DATA, FILE_WRITE_DATA, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTESund SYNCHRONIZE Zugriffsrechte verfügen. Weitere Informationen finden Sie unter Dateisicherheits- und Zugriffsberechtigungen.

Rückgabewert

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

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

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 Wert ungleich Null zurück, der den Erfolg angibt. Wenn die Datei komprimiert ist, wird EncryptFile- die Datei dekomprimieren, bevor sie verschlüsselt wird.

Wenn lpFileName- eine schreibgeschützte Datei angibt, schlägt die Funktion fehl und GetLastError gibt ERROR_FILE_READ_ONLYzurück. Wenn lpFileName ein Verzeichnis angibt, das eine schreibgeschützte Datei enthält, werden die Funktionen erfolgreich ausgeführt, aber das Verzeichnis ist 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 Abgestützt
Server Message Block (SMB) 3.0-Protokoll Ja
SMB 3.0 Transparent Failover (TFO) Nein
SMB 3.0 mit Skalierungsdateifreigaben (SO) Nein
Freigegebenes Clustervolumedateisystem (CsvFS) Nein
Resilient File System (ReFS) Nein
 

SMB 3.0 unterstützt EFS für Freigaben mit fortlaufender Verfügbarkeitsfunktion nicht.

Anmerkung

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 Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows XP Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- winbase.h (enthalten Windows.h)
Library Advapi32.lib
DLL- Advapi32.dll
API-Satz ext-ms-win-advapi32-encryptedfile-l1-1-0 (eingeführt in Windows 8)

Siehe auch

DecryptFile-

Dateiverschlüsselung

Dateiverwaltungsfunktionen