Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[PathCleanupSpec est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il peut être modifié ou indisponible dans les versions suivantes.]
Supprime les caractères non autorisés d’un nom de fichier ou de répertoire. Applique le format de nom de fichier 8.3 sur les lecteurs qui ne prennent pas en charge les noms de fichiers longs.
Syntaxe
int PathCleanupSpec(
[in, optional] PCWSTR pszDir,
[in, out] PWSTR pszSpec
);
Parameters
[in, optional] pszDir
Type : PCWSTR
Pointeur vers une mémoire tampon terminée par null qui contient le chemin complet du répertoire qui contiendra le fichier ou le répertoire nommé à pszSpec. Le chemin d’accès ne doit pas dépasser MAX_PATH caractères de longueur, y compris le caractère null de fin. Ce chemin d’accès n’est pas modifié.
Cette valeur peut être NULL.
[in, out] pszSpec
Type : PWSTR
Pointeur vers une mémoire tampon terminée par null qui contient le nom du fichier ou du répertoire à nettoyer. Dans le cas d’un fichier, incluez l’extension du fichier. Notez que, étant donné que « \ » est considéré comme un caractère non valide et sera supprimé, cette mémoire tampon ne peut pas contenir un chemin d’accès à plusieurs répertoires profonds.
À la sortie, la mémoire tampon contient une chaîne terminée par null qui inclut le nom nettoyé.
Cette mémoire tampon doit être au moins MAX_PATH caractères de longueur pour éviter la possibilité d’un dépassement de mémoire tampon.
Valeur renvoyée
Type : int
Retourne une ou plusieurs des valeurs suivantes.
| Code de retour | Description |
|---|---|
|
Remplacement d’un ou de plusieurs caractères non valides. |
|
Suppression d’un ou de plusieurs caractères non valides. |
|
Le chemin retourné est tronqué. |
|
La fonction a échoué, car le chemin d’accès d’entrée spécifié à pszDir est trop long pour permettre la formation d’un nom de fichier valide à partir de pszSpec. Lorsque cet indicateur est retourné, il est toujours accompagné de l’indicateur PCS_FATAL. |
|
Le chemin d’accès nettoyé n’est pas un nom de fichier valide. Cet indicateur est toujours retourné conjointement avec PCS_PATHTOOLONG. |
Remarks
Les caractères suivants sont considérés comme non valides dans tous les noms.
\ / : * ? " < > |
Les caractères de contrôle sont également considérés comme non valides. Si les noms de fichiers longs ne sont pas pris en charge, les caractères semi-deux-points (;) et virgule(,) ne sont pas valides.
Le lecteur nommé dans pszDir est vérifié pour déterminer si son système de fichiers prend en charge les noms de fichiers longs. Si ce n’est pas le cas, le nom au niveau pszSpec est tronqué au format 8.3 et la valeur PCS_TRUNCATED retournée. Si pszDir a la valeur NULL, le lecteur sur lequel Windows est installé est utilisé pour déterminer la prise en charge du nom de fichier long.
Si le chemin d’accès complet ( le nombre de caractères dans le chemin d’accès à pszDir plus le nombre de caractères du nom nettoyé au niveau pszSpec) dépasse MAX_PATH – 1 (pour tenir compte du caractère null de fin), la fonction retourne PCS_PATHTOOLONG.
Exigences
| Requirement | Value |
|---|---|
| Client minimum requis | Windows XP [applications de bureau uniquement] |
| Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
| Plateforme cible | Windows |
| En-tête | shlobj_core.h (include Shlobj.h) |
| Library | Shell32.lib |
| DLL | Shell32.dll (version 5.0 ou ultérieure) |