Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[PathCleanupSpec steht für die Verwendung in den im Abschnitt "Anforderungen" angegebenen Betriebssystemen zur Verfügung. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]
Entfernt unzulässige Zeichen aus einer Datei oder einem Verzeichnisnamen. Erzwingt das 8.3-Dateiformat auf Laufwerken, die keine langen Dateinamen unterstützen.
Syntax
int PathCleanupSpec(
[in, optional] PCWSTR pszDir,
[in, out] PWSTR pszSpec
);
Parameter
[in, optional] pszDir
Typ: PCWSTR-
Ein Zeiger auf einen mit Null beendeten Puffer, der den vollqualifizierten Pfad des Verzeichnisses enthält, der die Datei oder das Verzeichnis mit dem Namen "pszSpec" enthält. Der Pfad darf MAX_PATH Zeichen nicht überschreiten, einschließlich des endenden NULL-Zeichens. Dieser Pfad wird nicht geändert.
Dieser Wert kann NULL-sein.
[in, out] pszSpec
Typ: PWSTR
Ein Zeiger auf einen mit Null beendeten Puffer, der den zu bereinigenden Datei- oder Verzeichnisnamen enthält. Schließen Sie im Falle einer Datei die Erweiterung der Datei ein. Beachten Sie, dass "\" als ungültiges Zeichen betrachtet wird und entfernt wird, kann dieser Puffer keinen Pfad mehr als ein Verzeichnis tief enthalten.
Beim Beenden enthält der Puffer eine mit Null beendete Zeichenfolge, die den bereinigten Namen enthält.
Dieser Puffer sollte mindestens MAX_PATH Zeichen lang sein, um die Möglichkeit eines Pufferüberlaufs zu vermeiden.
Zurückgegebener Wert
Typ: int
Gibt einen oder mehrere der folgenden Werte zurück.
| Rückgabecode | Description |
|---|---|
|
Ein oder mehrere ungültige Zeichen wurden ersetzt. |
|
Mindestens ein ungültiges Zeichen wurde entfernt. |
|
Der zurückgegebene Pfad wird abgeschnitten. |
|
Fehler bei der Funktion, da der bei pszDir angegebene Eingabepfad zu lang ist, um die Bildung eines gültigen Dateinamens aus pszSpec zuzulassen. Wenn diese Kennzeichnung zurückgegeben wird, wird sie immer von der PCS_FATAL Kennzeichnung begleitet. |
|
Der bereinigte Pfad ist kein gültiger Dateiname. Dieses Kennzeichen wird immer in Verbindung mit PCS_PATHTOOLONG zurückgegeben. |
Remarks
Im Folgenden werden ungültige Zeichen in allen Namen betrachtet.
\ / : * ? " < > |
Steuerzeichen werden auch als ungültig angesehen. Wenn lange Dateinamen nicht unterstützt werden, sind auch die Zeichen semikolon (;) und Komma (,) ungültig.
Das in pszDir benannte Laufwerk wird überprüft, um zu bestimmen, ob das Dateisystem lange Dateinamen unterstützt. Wenn dies nicht der Fall ist, wird der Name bei pszSpec in das Format 8.3 und den zurückgegebenen PCS_TRUNCATED Wert abgeschnitten. Wenn pszDirNULL ist, wird das Laufwerk, auf dem Windows installiert ist, verwendet, um die Unterstützung für lange Dateinamen zu ermitteln.
Wenn der vollständige Pfad – die Anzahl der Zeichen im Pfad bei pszDir plus die Anzahl der Zeichen im bereinigten Namen bei pszSpec – MAX_PATH – 1 überschreitet (um das endende NULL-Zeichen zu berücksichtigen), gibt die Funktion PCS_PATHTOOLONG zurück.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows XP [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2003 [Nur Desktop-Apps] |
| Zielplattform | Windows |
| Header | shlobj_core.h (einschließlich Shlobj.h) |
| Library | Shell32.lib |
| DLL | Shell32.dll (Version 5.0 oder höher) |