Функция SHGetFolderPathAndSubDirA (shlobj_core.h)
Возвращает путь к папке и добавляет путь к вложенным папкам, предоставленным пользователем.
Синтаксис
HRESULT SHGetFolderPathAndSubDirA(
[in] HWND hwnd,
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCSTR pszSubDir,
[out] LPSTR pszPath
);
Параметры
[in] hwnd
Тип: HWND
Скрытный.
[in] csidl
Тип: int
Значение CSIDL, определяющее папку, путь к которой требуется получить. Допустимы только реальные папки. Если указана виртуальная папка, эта функция завершается ошибкой. Вы можете принудительно создать папку с SHGetFolderPathAndSubDir, объединив CSI DL папки с CSIDL_FLAG_CREATE.
[in] hToken
Тип: HANDLE
Маркер доступа , представляющий конкретного пользователя. Для систем, предшествующих Windows 2000, задайте для этого значения значение NULL. Для более поздних систем hToken обычно, но не всегда устанавливается значение NULL. Может потребоваться назначить значение hToken для этих папок, которые могут иметь несколько пользователей, но рассматриваются как принадлежащие одному пользователю. Наиболее часто используемая папка этого типа — "Мои документы".
[in] dwFlags
Тип: DWORD
Указывает, является ли возвращаемый путь фактическим путем папки или пути по умолчанию. Это значение используется в случаях, когда папка, связанная с CSIDL, может быть перемещена или переименована пользователем.
SHGFP_TYPE_CURRENT
Возвращает текущий путь папки.
SHGFP_TYPE_DEFAULT
Путь по умолчанию к папке.
[in] pszSubDir
Тип: LPCTSTR
Указатель на подкататуру, добавляемую к пути папки. Это строка null- завершенная строка длины MAX_PATH. Если вы не создаете новый каталог, это должен быть существующий подкаталог или функция возвращает ошибку. Это значение может быть значение NULL, если не требуется добавить подпат.
[out] pszPath
Тип: LPTSTR
Когда эта функция возвращается, это значение указывает на путь к каталогу и добавленную подпатку. Это строка null- завершенная строка длины MAX_PATH. Эта строка пуста, когда функция возвращает код ошибки.
Возвращаемое значение
Тип: HRESULT
Если эта функция выполнена успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT.
Замечания
Заметка
Заголовок shlobj_core.h определяет SHGetFolderPathAndSubDir как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | shlobj_core.h (include Shlobj.h, Shlobj_core.h) |
библиотеки |
Shell32.lib |
DLL | Shell32.dll (версия 5.60 или более поздняя версия) |