Concatena dos fragmentos de ruta de acceso en una sola ruta de acceso. Esta función también canónicamente los elementos de ruta de acceso relativos, reemplazando elementos path como "." y "..".
Esta función difiere de PathCchCombine y PathCchCombineEx en que devuelve el resultado en el montón. Esto significa que el autor de la llamada no tiene que declarar el tamaño de la cadena devuelta y reduce el uso de la pila.
Esta función difiere de PathCombine en que acepta rutas de acceso con prefijos "\", "\?" y "\?\UNC".
Puntero a la segunda cadena de ruta de acceso. Si esta ruta de acceso comienza con una sola barra diagonal inversa, se combina solo con la raíz de la ruta de acceso a la que apunta pszPathIn. Si esta ruta de acceso está completa, se copia directamente en el búfer de salida sin combinarse con la otra ruta de acceso.
[in] dwFlags
Una o varias de las marcas siguientes:
Valor
Significado
PATHCCH_NONE
0x0000000
No permita la construcción de rutas \\?\ (es decir, rutas de acceso largas) más largas que MAX_PATH .
PATHCCH_ALLOW_LONG_PATHS
0x00000001
Permita la construcción de rutas \\?\ más largas que MAX_PATH .
PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS
0x00000002
Obliga a la API a tratar al autor de la llamada como ruta de acceso larga habilitada, independientemente del estado habilitado para el nombre largo del proceso. Esta opción solo se puede usar cuando se especifica PATHCCH_ALLOW_LONG_PATHS y no se puede usar con PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS.
Nota Este valor está disponible a partir de Windows 10, versión 1703.
PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS
0x00000004
Obliga a la API a tratar al autor de la llamada mientras la ruta de acceso esté deshabilitada, independientemente del estado habilitado para el nombre largo del proceso. Esta opción solo se puede usar cuando se especifica PATHCCH_ALLOW_LONG_PATHS y no se puede usar con PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS.
Nota Este valor está disponible a partir de Windows 10, versión 1703.
PATHCCH_DO_NOT_NORMALIZE_SEGMENTS
0x00000008
Deshabilita la normalización de segmentos de ruta de acceso que incluye la eliminación de puntos y espacios finales. Esto permite el acceso a las rutas de acceso que bloqueará la normalización de rutas de acceso win32.
Nota Este valor está disponible a partir de Windows 10, versión 1703.
PATHCCH_ENSURE_IS_EXTENDED_LENGTH_PATH
0x00000010
Convierte la ruta de acceso de entrada en el formulario de ruta de acceso del dispositivo DOS de longitud extendida (con el prefijo \\?\ ) si aún no está en ese formulario. Esto permite el acceso a las rutas de acceso que, de lo contrario, no son direccionables debido a las reglas de normalización de Win32 (que pueden quitar los puntos finales y los espacios) y las limitaciones de longitud de ruta de acceso. Esta opción implica el mismo comportamiento de PATHCCH_DO_NOT_NORMALIZE_SEGMENTS.
Nota Este valor está disponible a partir de Windows 10, versión 1703.
PATHCCH_ENSURE_TRAILING_SLASH
0x00000020
Al combinar o normalizar una ruta de acceso, asegúrese de que hay una barra diagonal inversa final.
Nota Este valor está disponible a partir de Windows 10, versión 1703.
[out] ppszPathOut
La dirección de un puntero a un búfer que, cuando esta función devuelve correctamente, recibe la cadena de ruta de acceso combinada. Es responsabilidad del autor de la llamada liberar este recurso, cuando ya no es necesario, llamando a la función LocalFree . Este valor no puede ser NULL.
Valor devuelto
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Aunque pszPathIn o pszMore pueden ser NULL, no pueden ser NULL.
Esta función admite estos formularios de ruta de acceso alternativos:
\\?\
\\?\\UNC\
\\?\Volume{guid}\
Requisitos
Requisito
Value
Cliente mínimo compatible
Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible
Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]