Metode IShellFolder::SetNameOf (shobjidl_core.h)

Mengatur nama tampilan objek file atau subfolder, mengubah pengidentifikasi item dalam proses.

Sintaks

HRESULT SetNameOf(
  [in]  HWND            hwnd,
  [in]  PCUITEMID_CHILD pidl,
  [in]  LPCWSTR         pszName,
  [in]  SHGDNF          uFlags,
  [out] PITEMID_CHILD   *ppidlOut
);

Parameter

[in] hwnd

Jenis: HWND

Handel ke jendela pemilik dari kotak dialog atau pesan apa pun yang ditampilkan klien.

[in] pidl

Jenis: PCUITEMID_CHILD

Penunjuk ke struktur ITEMIDLIST yang secara unik mengidentifikasi objek file atau subfolder relatif terhadap folder induk. Struktur harus berisi persis satu struktur SHITEMID diikuti dengan penghentian nol.

[in] pszName

Jenis: LPCWSTR

Penunjuk ke string yang dihentikan null yang menentukan nama tampilan baru.

[in] uFlags

Jenis: SHGDNF

Bendera yang menunjukkan jenis nama yang ditentukan oleh parameter pszName . Untuk daftar nilai dan kombinasi nilai yang mungkin, lihat SHGDNF.

[out] ppidlOut

Jenis: PITEMID_CHILD*

Pilihan. Jika ditentukan, alamat penunjuk ke struktur ITEMIDLIST yang menerima ITEMIDLIST dari item yang diganti namanya. Pemanggil meminta nilai ini dengan meneruskan ppidlOut non-null. Implementasi IShellFolder::SetNameOf harus mengembalikan penunjuk ke ITEMIDLIST baru dalam parameter ppidlOut .

Nilai kembali

Jenis: HRESULT

Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Mengubah nama tampilan objek sistem file, atau folder di dalamnya, mengganti nama file atau direktori.

Sebelum memanggil metode ini, aplikasi harus memanggil IShellFolder::GetAttributesOf dan memeriksa apakah bendera SFGAO_CANRENAME diatur. Perhatikan bahwa bendera ini pada dasarnya merupakan petunjuk untuk klien namespace layanan. Tidak selalu menyiratkan bahwa IShellFolder::SetNameOf akan berhasil atau gagal.

Implementer IShellFolder::SetNameOf harus memanggil SHChangeNotify dengan PIDL absolut lama dan baru setelah penggantian nama objek selesai. Contoh berikut ini memperlihatkan panggilan ke SHChangeNotify setelah penggantian nama objek folder.

SHChangeNotify(SHCNE_RENAMEFOLDER, SHCNF_IDLIST, pidlFullOld, pidlFullNew);

Panggilan ini mencegah nama lama dan baru ditampilkan dalam tampilan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shobjidl_core.h (termasuk Shobjidl.h)
DLL Shell32.dll (versi 4.0 atau yang lebih baru)