Функция SHGetFolderPathAndSubDirW (shlobj_core.h)
Получает путь к папке и добавляет предоставленный пользователем путь к вложенной папке.
Синтаксис
HRESULT SHGetFolderPathAndSubDirW(
[in] HWND hwnd,
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCWSTR pszSubDir,
[out] LPWSTR pszPath
);
Параметры
[in] hwnd
Тип: HWND
Зарезервировано.
[in] csidl
Тип: int
Значение CSIDL , определяющее папку, путь к которой требуется извлечь. Допустимы только реальные папки. Если указана виртуальная папка, эта функция завершается ошибкой. Вы можете принудительно создать папку с помощью SHGetFolderPathAndSubDir , объединив CSIDL папки с 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
Указатель на вложенный путь, добавляемый к пути к папке. Это строка длиной MAX_PATH, заканчивающаяся значением NULL. Если вы не создаете новый каталог, это должен быть существующий подкаталог, иначе функция возвращает ошибку. Это значение может иметь значение NULL , если подпуть не должен быть добавлен.
[out] pszPath
Тип: LPTSTR
При возврате этой функции это значение указывает на путь к каталогу и добавленный вложенный путь. Это строка длиной MAX_PATH, заканчивающаяся значением NULL. Эта строка пуста, когда функция возвращает код ошибки.
Возвращаемое значение
Тип: HRESULT
Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Примечание
Заголовок shlobj_core.h определяет SHGetFolderPathAndSubDir как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shlobj_core.h (включая Shlobj.h, Shlobj_core.h) |
Библиотека | Shell32.lib |
DLL | Shell32.dll (версия 5.60 или более поздняя) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по