Funzione PathCleanupSpec (shlobj_core.h)
[PathCleanupSpec è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Può essere modificato o non disponibile nelle versioni successive.
Rimuove i caratteri non validi da un file o un nome di directory. Applica il formato di file 8.3 nelle unità che non supportano nomi di file lunghi.
Sintassi
int PathCleanupSpec(
[in, optional] PCWSTR pszDir,
[in, out] PWSTR pszSpec
);
Parametri
[in, optional] pszDir
Tipo: PCWSTR
Puntatore a un buffer con terminazione null contenente il percorso completo della directory che conterrà il file o la directory denominata in pszSpec. Il percorso non deve superare MAX_PATH caratteri in lunghezza, incluso il carattere null terminante. Questo percorso non viene modificato.
Questo valore può essere NULL.
[in, out] pszSpec
Tipo: PWSTR
Puntatore a un buffer con terminazione null contenente il file o il nome della directory da pulire. Nel caso di un file, includere l'estensione del file. Si noti che poiché '' è considerato un carattere non valido e verrà rimosso, questo buffer non può contenere un percorso più di una directory profonda.
All'uscita, il buffer contiene una stringa con terminazione null che include il nome pulito.
Questo buffer deve essere almeno MAX_PATH caratteri in lunghezza per evitare la possibilità di un overrun del buffer.
Valore restituito
Tipo: int
Restituisce uno o più dei valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Sostituito uno o più caratteri non validi. |
|
Rimosso uno o più caratteri non validi. |
|
Il percorso restituito viene troncato. |
|
La funzione non è riuscita perché il percorso di input specificato in pszDir è troppo lungo per consentire la formazione di un nome file valido da pszSpec. Quando viene restituito questo flag, viene sempre accompagnato dal flag di PCS_FATAL. |
|
Il percorso pulito non è un nome di file valido. Questo flag viene sempre restituito in combinazione con PCS_PATHTOOLONG. |
Commenti
Di seguito sono considerati caratteri non validi in tutti i nomi.
\ / : * ? " < > |
I caratteri di controllo sono considerati anche non validi. Se i nomi di file lunghi non sono supportati, anche i caratteri ;) e virgola (,) non sono validi.
L'unità denominata in pszDir viene controllata per determinare se il file system supporta nomi di file lunghi. In caso contrario, il nome in pszSpec viene troncato al formato 8.3 e il valore PCS_TRUNCATED restituito. Se pszDir è NULL, l'unità in cui è installato Windows viene usata per determinare il supporto di un nome file lungo.
Se il percorso completo, ovvero il numero di caratteri nel percorso in pszDir e il numero di caratteri nel nome pulito in pszSpec, supera MAX_PATH - 1 (per tenere conto del carattere null finale), la funzione restituisce PCS_PATHTOOLONG.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shlobj_core.h (include Shlobj.h) |
Libreria | Shell32.lib |
DLL | Shell32.dll (versione 5.0 o successiva) |