Compartir a través de


Función PathCchAppendEx (pathcch.h)

Anexa una ruta de acceso al final de otra.

Esta función difiere de PathCchAppend en que permite construir una ruta de acceso final más larga.

Esta función difiere de PathAppend en que acepta rutas de acceso con prefijos "\", "\?" y "\?\UNC".

Nota Esta función, o PathCchAppend, se debe usar en lugar de PathAppend para evitar la posibilidad de que se supere un búfer.

Sintaxis

WINPATHCCHAPI HRESULT PathCchAppendEx(
  [in, out]      PWSTR  pszPath,
  [in]           size_t cchPath,
  [in, optional] PCWSTR pszMore,
  [in]           ULONG  dwFlags
);

Parámetros

[in, out] pszPath

Puntero a un búfer que, en la entrada, contiene la ruta de acceso original. Cuando esta función vuelve correctamente, el búfer contiene la ruta de acceso original más la ruta de acceso anexada.

[in] cchPath

Tamaño del búfer al que apunta pszPath, en caracteres.

[in, optional] pszMore

Puntero a la ruta de acceso que se va a anexar al final de la ruta a la que apunta pszPath. Las rutas de acceso y las rutas de acceso UNC que comienzan con la secuencia \?\ se aceptan y reconocen como rutas de acceso completas. Estas rutas de acceso reemplazan la cadena a la que apunta pszPath en lugar de anexarse a ella.

[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 creació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.

Valor devuelto

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código HRESULT , incluido lo siguiente.

Código devuelto Descripción
E_INVALIDARG
PszPath o pszMore es NULL, cchPath es 0 o cchPath es mayor que PATHCCH_MAX_CCH.
PATHCCH_E_FILENAME_TOO_LONG
La cadena resultante superaría PATHCCH_MAX_CCH.
E_OUTOFMEMORY
La función no pudo asignar un búfer del tamaño necesario.

Comentarios

Esta función inserta una barra diagonal inversa entre las dos cadenas, si aún no hay una.

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]
Plataforma de destino Windows
Encabezado pathcch.h
Library Pathcch.lib

Consulte también

PathCchAppend