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