Функция SHCreateDirectoryExA (shlobj_core.h)

[Эта функция доступна в Windows XP с пакетом обновления 2 (SP2) и Windows Server 2003. Он может быть изменен или недоступен в последующих версиях Windows.]

Создает папку файловой системы с необязательными атрибутами безопасности.

Синтаксис

int SHCreateDirectoryExA(
  [in, optional] HWND                      hwnd,
  [in]           LPCSTR                    pszPath,
  [in, optional] const SECURITY_ATTRIBUTES *psa
);

Параметры

[in, optional] hwnd

Тип: HWND

Дескриптор родительского окна. Этот параметр может иметь значение NULL , если пользовательский интерфейс не отображается.

[in] pszPath

Тип: LPCTSTR

Указатель на строку с пустым завершением, указывающую полный путь к каталогу. Максимальная длина этой строки составляет 248 символов, включая завершающий символ NULL.

[in, optional] psa

Тип: const SECURITY_ATTRIBUTES*

Указатель на структуру SECURITY_ATTRIBUTES с атрибутом безопасности каталога. Присвойте этому параметру значение NULL , если не нужно задавать атрибуты безопасности.

Возвращаемое значение

Тип: int

В случае успешного выполнения возвращает ERROR_SUCCESS. Если операция завершается сбоем, могут быть возвращены другие коды ошибок, в том числе перечисленные здесь. Сведения о значениях, не перечисленных конкретно, см. в разделе Системные коды ошибок.

Код возврата Описание
ERROR_BAD_PATHNAME
Параметру pszPath присвоен относительный путь.
ERROR_FILENAME_EXCED_RANGE
Слишком длинный путь, на который указывает pszPath .
ERROR_PATH_NOT_FOUND
Системе не удается найти путь, на который указывает pszPath. Путь может содержать недопустимую запись.
ERROR_FILE_EXISTS
Каталог существует.
ERROR_ALREADY_EXISTS
Каталог существует.
ERROR_CANCELLED
Пользователь отменил операцию.

Комментарии

Эта функция создает папку файловой системы, полный путь которой предоставляется pszPath. Если одна или несколько промежуточных папок не существуют, они также создаются. SHCreateDirectoryEx также проверяет видимые файлы. Если они не видны, следует ожидать одно из следующих значений:

  • Если для hwnd задан допустимый дескриптор окна, отображается окно сообщения с предупреждением о том, что пользователь не сможет получить доступ к файлам. Если пользователь решит не продолжать, функция возвращает ERROR_CANCELLED.
  • Если параметр hwnd имеет значение NULL, пользовательский интерфейс не отображается, а функция возвращает ERROR_CANCELLED.

Примечание

Заголовок shlobj_core.h определяет SHCreateDirectoryEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shlobj_core.h (включая Shlobj.h, Shlobj_core.h)
Библиотека Shell32.lib
DLL Shell32.dll (версия 5.0 или более поздняя)

См. также раздел

SHCreateDirectory