Función PathCleanupSpec (shlobj_core.h)
[PathCleanupSpec está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores.
Quita caracteres no válidos de un nombre de archivo o directorio. Aplica el formato de nombre de archivo 8.3 en unidades que no admiten nombres de archivo largos.
Sintaxis
int PathCleanupSpec(
[in, optional] PCWSTR pszDir,
[in, out] PWSTR pszSpec
);
Parámetros
[in, optional] pszDir
Tipo: PCWSTR
Puntero a un búfer terminado en null que contiene la ruta de acceso completa del directorio que contendrá el archivo o directorio denominado en pszSpec. La ruta de acceso no debe superar MAX_PATH caracteres de longitud, incluido el carácter nulo de terminación. Esta ruta de acceso no se modifica.
Este valor puede ser NULL.
[in, out] pszSpec
Tipo: PWSTR
Puntero a un búfer terminado en null que contiene el nombre de archivo o directorio que se va a limpiar. En el caso de un archivo, incluya la extensión del archivo. Tenga en cuenta que, dado que '' se considera un carácter no válido y se quitará, este búfer no puede contener una ruta de acceso más de un directorio profundo.
Al salir, el búfer contiene una cadena terminada en null que incluye el nombre limpio.
Este búfer debe tener al menos MAX_PATH caracteres de longitud para evitar la posibilidad de que se supere un búfer.
Valor devuelto
Tipo: int
Devuelve uno o varios de los valores siguientes.
Código devuelto | Descripción |
---|---|
|
Ha reemplazado uno o varios caracteres no válidos. |
|
Se han quitado uno o varios caracteres no válidos. |
|
La ruta de acceso devuelta se trunca. |
|
Error en la función porque la ruta de acceso de entrada especificada en pszDir es demasiado larga para permitir la formación de un nombre de archivo válido de pszSpec. Cuando se devuelve esta marca, siempre va acompañada de la marca PCS_FATAL. |
|
La ruta de acceso limpia no es un nombre de archivo válido. Esta marca siempre se devuelve junto con PCS_PATHTOOLONG. |
Comentarios
A continuación se consideran caracteres no válidos en todos los nombres.
\ / : * ? " < > |
Los caracteres de control también se consideran no válidos. Si no se admiten nombres de archivo largos, los caracteres de punto y coma (;) y coma (,) tampoco son válidos.
La unidad denominada en pszDir se comprueba para determinar si su sistema de archivos admite nombres de archivo largos. Si no es así, el nombre de pszSpec se trunca al formato 8.3 y se devuelve el valor de PCS_TRUNCATED. Si pszDir es NULL, la unidad en la que se instala Windows se usa para determinar la compatibilidad con nombres de archivo largos.
Si la ruta de acceso completa (el número de caracteres de la ruta de acceso en pszDir más el número de caracteres del nombre limpio en pszSpec) supera MAX_PATH – 1 (para tener en cuenta el carácter nulo de terminación), la función devuelve PCS_PATHTOOLONG.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlobj_core.h (incluya Shlobj.h) |
Library | Shell32.lib |
Archivo DLL | Shell32.dll (versión 5.0 o posterior) |