Freigeben über


RemoveDirectoryA-Funktion (fileapi.h)

Löscht ein vorhandenes leeres Verzeichnis.

Verwenden Sie die RemoveDirectoryTransacted-Funktion, um diesen Vorgang als transacted-Vorgang auszuführen.

Syntax

BOOL RemoveDirectoryA(
  [in] LPCSTR lpPathName
);

Parameter

[in] lpPathName

Der Pfad des zu entfernenden Verzeichnisses. Dieser Pfad muss ein leeres Verzeichnis angeben, und der Aufrufvorgang muss zugriff auf das Verzeichnis haben.

Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um diesen Grenzwert auf 32.767 breite Zeichen zu erweitern, stellen Sie "\\?\" dem Pfad voran. Weitere Informationen finden Sie unter Namensdateien, Pfade und Namespaces.

Trinkgeld

Ab Windows 10, Version 1607, können Sie die MAX_PATH Einschränkung entfernen, ohne "\\?\". Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbeschränkung" Benennungsdateien, Pfade und Namespaces.

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 RemoveDirectory--Funktion markiert ein Verzeichnis zum Löschen beim Schließen. Daher wird das Verzeichnis erst entfernt, wenn das letzte Handle für das Verzeichnis geschlossen wird.

Um die Dateien in einem Verzeichnis rekursiv zu löschen, verwenden Sie die funktion SHFileOperation.

RemoveDirectory- kann verwendet werden, um eine Verzeichnisverbindung zu entfernen. Da das Zielverzeichnis und seine Inhalte über den kanonischen Pfad zugänglich bleiben, ist das Zielverzeichnis selbst nicht betroffen, indem eine Verbindung entfernt wird, die darauf abzielt. Wenn lpPathName auf eine Verzeichnisverbindung verweist, entfernt RemoveDirectory den angegebenen Link unabhängig davon, ob das Zielverzeichnis leer ist oder nicht. Weitere Informationen zu Verbindungsverbindungen finden Sie unter Hard Links and Junctions.

Die Verwendung des POSIX-Löschvorgangs bewirkt, dass das Verzeichnis gelöscht wird, während Handles geöffnet bleiben. Nachfolgende Aufrufe von CreateDirectory zum Öffnen des Verzeichnisses schlagen mit ERROR_FILE_NOT_FOUNDfehl.

In Windows 8 und Windows Server 2012 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) Ja
SMB 3.0 mit Skalierungsdateifreigaben (SO) Ja
Freigegebenes Clustervolumedateisystem (CsvFS) Ja
Resilient File System (ReFS) Ja

Anmerkung

Der Header fileapi.h definiert RemoveDirectory 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 [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- fileapi.h (include Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

CreateDirectory-

Erstellen und Löschen von Verzeichnissen

Verzeichnisverwaltungsfunktionen

RemoveDirectoryTransacted-