Bagikan melalui


Fungsi PathCleanupSpec (shlobj_core.h)

[PathCleanupSpec tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya.]

Menghapus karakter ilegal dari nama file atau direktori. Memberlakukan format nama file 8.3 pada drive yang tidak mendukung nama file panjang.

Sintaks

int PathCleanupSpec(
  [in, optional] PCWSTR pszDir,
  [in, out]      PWSTR  pszSpec
);

Parameter

[in, optional] pszDir

Jenis: PCWSTR

Penunjuk ke buffer yang dihentikan null yang berisi jalur direktori yang sepenuhnya memenuhi syarat yang akan berisi file atau direktori bernama di pszSpec. Panjang jalur tidak boleh melebihi MAX_PATH karakter, termasuk karakter null yang dihentikan. Jalur ini tidak diubah.

Nilai ini bisa NULL.

[in, out] pszSpec

Jenis: PWSTR

Penunjuk ke buffer yang dihentikan null yang berisi nama file atau direktori yang akan dibersihkan. Dalam kasus file, sertakan ekstensi file. Perhatikan bahwa karena '' dianggap sebagai karakter yang tidak valid dan akan dihapus, buffer ini tidak boleh berisi jalur lebih dari satu direktori dalam.

Saat keluar, buffer berisi string null-terminated yang menyertakan nama yang dibersihkan.

Buffer ini harus setidaknya MAX_PATH karakter panjangnya untuk menghindari kemungkinan buffer dikurangi.

Mengembalikan nilai

Jenis: int

Mengembalikan satu atau beberapa nilai berikut.

Menampilkan kode Deskripsi
PCS_REPLACEDCHAR
Mengganti satu atau beberapa karakter yang tidak valid.
PCS_REMOVEDCHAR
Menghapus satu atau beberapa karakter yang tidak valid.
PCS_TRUNCATED
Jalur yang dikembalikan dipotok.
PCS_PATHTOOLONG
Fungsi gagal karena jalur input yang ditentukan di pszDir terlalu panjang untuk memungkinkan pembentukan nama file yang valid dari pszSpec. Ketika bendera ini dikembalikan, bendera selalu disertai dengan bendera PCS_FATAL.
PCS_FATAL
Jalur yang dibersihkan bukan nama file yang valid. Bendera ini selalu dikembalikan bersama dengan PCS_PATHTOOLONG.

Keterangan

Berikut ini dianggap karakter yang tidak valid di semua nama.

\ / : * ? " < > |

Karakter kontrol juga dianggap tidak valid. Jika nama file panjang tidak didukung, karakter titik koma (;) dan koma (,) juga tidak valid.

Drive bernama pszDir diperiksa untuk menentukan apakah sistem filenya mendukung nama file panjang. Jika tidak, nama di pszSpec dipotok ke format 8.3 dan nilai PCS_TRUNCATED dikembalikan. Jika pszDir adalah NULL, drive tempat Windows diinstal digunakan untuk menentukan dukungan nama file yang panjang.

Jika jalur lengkap—jumlah karakter dalam jalur di pszDir ditambah jumlah karakter dalam nama yang dibersihkan di pszSpec—melebihi MAX_PATH – 1 (untuk mempertangungjawabkan karakter null yang mengakhiri), fungsi mengembalikan PCS_PATHTOOLONG.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header shlobj_core.h (termasuk Shlobj.h)
Pustaka Shell32.lib
DLL Shell32.dll (versi 5.0 atau yang lebih baru)