Функция PathCchCombineEx (pathcch.h)
Объединяет два фрагмента пути в один путь. Эта функция также канонизирует все относительные элементы пути, удаляя элементы "." и ".." для упрощения конечного пути.
Эта функция отличается от PathCchCombine тем, что она позволяет построить более длинный конечный путь.
Эта функция отличается от PathAllocCombine тем, что вызывающий объект должен объявить размер возвращаемой строки, которая хранится в стеке.
Эта функция отличается от PathCombine тем, что она принимает пути с префиксами "\", "\?" и "\?\UNC".
Синтаксис
WINPATHCCHAPI HRESULT PathCchCombineEx(
[out] PWSTR pszPathOut,
[in] size_t cchPathOut,
[in, optional] PCWSTR pszPathIn,
[in, optional] PCWSTR pszMore,
[in] ULONG dwFlags
);
Параметры
[out] pszPathOut
Указатель на буфер, который при успешном возврате этой функции получает объединенную строку пути. Этот параметр может указывать на тот же буфер, что и pszPathIn или pszMore.
[in] cchPathOut
Размер буфера, на который указывает pszPathOut, в символах.
[in, optional] pszPathIn
Указатель на первую строку пути. Это значение может иметь значение NULL.
[in, optional] pszMore
Указатель на вторую строку пути. Если этот путь начинается с одной обратной косой черты, он объединяется только с корнем пути, на который указывает pszPathIn. Если этот путь является полным, он копируется непосредственно в выходной буфер без объединения с другим путем. Это значение может иметь значение NULL.
[in] dwFlags
Один или несколько из следующих флагов:
Возвращаемое значение
Эта функция возвращает код HRESULT , включая следующий код.
Код возврата | Описание |
---|---|
|
Функция выполнена успешно. Обратите внимание, что сюда также относится пустое расширение, например точка без символов после него. В этом случае исходная строка возвращается в неотправленном виде. |
|
Это значение может быть вызвано несколькими причинами, такими как параметр pszPathOut , задающий значение NULL, или значение cchPathOut , равное 0 или значение, большее PATHCCH_MAX_CCH . |
|
Функции не удалось выделить достаточно памяти для выполнения операции. |
|
Размер одного или обоих исходных путей превысил PATHCCH_MAX_CCH . |
Комментарии
Если и pszPathIn , и pszMore имеют значение NULL или указывают на пустые строки, одна обратная косая черта копируется в буфер, на который указывает pszPathOut.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | pathcch.h |
Библиотека | Pathcch.lib |