Функция CreateDirectory (winbase.h)
Создает каталог. Если базовая файловая система поддерживает безопасность файлов и каталогов, функция применяет указанный дескриптор безопасности к новому каталогу.
Чтобы указать каталог шаблона, используйте функцию CreateDirectoryEx .
Чтобы выполнить эту операцию как транзакцию, используйте функцию CreateDirectoryTransacted .
Синтаксис
BOOL CreateDirectory(
[in] LPCTSTR lpPathName,
[in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
Параметры
[in] lpPathName
Путь к создаваемому каталогу.
Для версии ANSI этой функции существует ограничение размера строки по умолчанию для путей в 248 символов (MAX_PATH — достаточно места для имени файла 8,3). Чтобы расширить это ограничение до 32 767 символов в ширину, вызовите версию Функции в Юникоде и добавьте "\?" к пути. Дополнительные сведения см. в разделе Именование файла.
[in, optional] lpSecurityAttributes
Указатель на структуру SECURITY_ATTRIBUTES . Член lpSecurityDescriptor структуры задает дескриптор безопасности для нового каталога. Если lpSecurityAttributes имеет значение NULL, каталог получает дескриптор безопасности по умолчанию. Списки управления доступом в дескрипторе безопасности по умолчанию для каталога наследуются от его родительского каталога.
Целевая файловая система должна поддерживать безопасность файлов и каталогов, чтобы этот параметр действовал. (Это указывается, когда GetVolumeInformation возвращает FS_PERSISTENT_ACLS.)
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Возможные ошибки:
Код возврата | Описание |
---|---|
|
Указанный каталог уже существует. |
|
Один или несколько промежуточных каталогов не существуют; Эта функция создает только окончательный каталог в пути. |
Комментарии
Некоторые файловые системы, такие как файловая система NTFS, поддерживают сжатие или шифрование для отдельных файлов и каталогов. На томах, отформатированных для такой файловой системы, новый каталог наследует атрибуты сжатия и шифрования родительского каталога.
Приложение может получить дескриптор каталога, вызвав CreateFile с установленным флагом FILE_FLAG_BACKUP_SEMANTICS . Пример кода см. в разделе CreateFile.
Для поддержки функций наследования, которые запрашивают дескриптор безопасности этого объекта, можно эвристически определить и сообщить о действии наследования. Дополнительные сведения см. в статье Автоматическое распространение наследуемых ACE .
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Да |
Прозрачная отработка отказа (TFO) SMB 3.0 | Да |
SMB 3.0 с масштабируемыми общими папками (SO) | Да |
Файловая система общего тома кластера (CSVFS) | Да |
Восстанавливаемая файловая система (ReFS) | Да |
Примеры
Пример см. в разделе Извлечение и изменение атрибутов файла.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по