CreateDirectoryA-Funktion (fileapi.h)

Erstellt ein neues Verzeichnis. Wenn das zugrunde liegende Dateisystem die Sicherheit für Dateien und Verzeichnisse unterstützt, wendet die Funktion einen angegebenen Sicherheitsdeskriptor auf das neue Verzeichnis an.

Verwenden Sie zum Angeben eines Vorlagenverzeichnisses die CreateDirectoryEx-Funktion .

Um diesen Vorgang als transaktionierten Vorgang auszuführen, verwenden Sie die Funktion CreateDirectoryTransacted .

Syntax

BOOL CreateDirectoryA(
  [in]           LPCSTR                lpPathName,
  [in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

Parameter

[in] lpPathName

Der Pfad des zu erstellenden Verzeichnisses.

Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um dieses Limit auf 32.767 breite Zeichen zu erweitern, müssen Sie dem Pfad "\\?\" voranstellen. Weitere Informationen finden Sie unter Benennen von Dateien, Pfaden und Namespaces.

Tipp

Ab Windows 10 Version 1607 können Sie die MAX_PATH-Einschränkung entfernen, ohne "\\?\" vorauszustellen. Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbegrenzung" unter Benennung von Dateien, Pfaden und Namespaces .

[in, optional] lpSecurityAttributes

Ein Zeiger auf eine SECURITY_ATTRIBUTES-Struktur . Das lpSecurityDescriptor-Element der Struktur gibt einen Sicherheitsdeskriptor für das neue Verzeichnis an. Wenn lpSecurityAttributesNULL ist, erhält das Verzeichnis eine Standardsicherheitsbeschreibung. Die ACLs im Standardsicherheitsdeskriptor für ein Verzeichnis werden vom übergeordneten Verzeichnis geerbt.

Das Zieldateisystem muss die Sicherheit von Dateien und Verzeichnissen unterstützen, damit dieser Parameter eine Wirkung hat. (Dies wird angegeben, wenn GetVolumeInformationFS_PERSISTENT_ACLS zurückgibt.)

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. Zu den möglichen Fehlern zählen die folgenden.

Rückgabecode Beschreibung
ERROR_ALREADY_EXISTS
Das angegebene Verzeichnis ist bereits vorhanden.
ERROR_PATH_NOT_FOUND
Mindestens ein Zwischenverzeichnis ist nicht vorhanden; Diese Funktion erstellt nur das endgültige Verzeichnis im Pfad.

Bemerkungen

Einige Dateisysteme, z. B. das NTFS-Dateisystem, unterstützen die Komprimierung oder Verschlüsselung für einzelne Dateien und Verzeichnisse. Auf Volumes, die für ein solches Dateisystem formatiert sind, erbt ein neues Verzeichnis die Komprimierungs- und Verschlüsselungsattribute des übergeordneten Verzeichnisses.

Eine Anwendung kann ein Handle für ein Verzeichnis abrufen, indem CreateFile mit dem FILE_FLAG_BACKUP_SEMANTICS-Flag festgelegt aufgerufen wird. Ein Codebeispiel finden Sie unter CreateFile.

Um Vererbungsfunktionen zu unterstützen, die den Sicherheitsdeskriptor dieses Objekts abfragen, können sie heuristisch bestimmen und melden, dass die Vererbung wirksam ist. Weitere Informationen finden Sie unter Automatische Weitergabe vererbbarer ACEs .

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

Technologie Unterstützt
Server Message Block (SMB) 3.0-Protokoll Ja
SMB 3.0 Transparent Failover (TFO) Ja
SMB 3.0 mit Horizontalskalieren von Dateifreigaben (SO) Ja
Freigegebenes Clustervolume-Dateisystem (CsvFS) Ja
Robustes Dateisystem (Resilient File System, ReFS) Ja
 

Beispiele

Ein Beispiel finden Sie unter Abrufen und Ändern von Dateiattributen.

Hinweis

Der fileapi.h-Header definiert CreateDirectory 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

   
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile fileapi.h (Einschließen von Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CreateDirectoryEx

CreateDirectoryTransacted

CreateFile

Erstellen und Löschen von Verzeichnissen

Verzeichnisverwaltungsfunktionen

RemoveDirectory

SECURITY_ATTRIBUTES

SECURITY_INFORMATION