Fungsi SHChangeNotify (shlobj_core.h)

Memberi tahu sistem peristiwa yang telah dilakukan aplikasi. Aplikasi harus menggunakan fungsi ini jika melakukan tindakan yang dapat memengaruhi Shell.

Sintaks

void SHChangeNotify(
                 LONG    wEventId,
                 UINT    uFlags,
  [in, optional] LPCVOID dwItem1,
  [in, optional] LPCVOID dwItem2
);

Parameter

wEventId

Jenis: LONG

Menjelaskan peristiwa yang telah terjadi. Biasanya, hanya satu peristiwa yang ditentukan pada satu waktu. Jika lebih dari satu peristiwa ditentukan, nilai yang terkandung dalam parameter dwItem1 dan dwItem2 harus sama, masing-masing, untuk semua peristiwa yang ditentukan. Parameter ini bisa berupa satu atau beberapa nilai berikut:

SHCNE_ALLEVENTS

Semua peristiwa telah terjadi.

SHCNE_ASSOCCHANGED

Asosiasi tipe file telah berubah. SHCNF_IDLIST harus ditentukan dalam parameter uFlags . dwItem1 dan dwItem2 tidak digunakan dan harus NULL. Kejadian ini juga harus dikirim untuk protokol terdaftar.

SHCNE_ATTRIBUTES

Atribut item atau folder telah berubah. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi item atau folder yang telah berubah. dwItem2 tidak digunakan dan harus NULL.

SHCNE_CREATE

Item nonfolder telah dibuat. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi item yang dibuat. dwItem2 tidak digunakan dan harus NULL.

SHCNE_DELETE

Item nonfolder telah dihapus. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi item yang dihapus. dwItem2 tidak digunakan dan harus NULL.

SHCNE_DRIVEADD

Drive telah ditambahkan. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi akar drive yang ditambahkan. dwItem2 tidak digunakan dan harus NULL.

SHCNE_DRIVEADDGUI

Windows XP dan yang lebih baru: Tidak digunakan.

SHCNE_DRIVEREMOVED

Kandar telah dilepas. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi akar drive yang dihapus. dwItem2 tidak digunakan dan harus NULL.

SHCNE_EXTENDED_EVENT

Saat ini tidak digunakan.

SHCNE_FREESPACE

Jumlah ruang kosong pada drive telah berubah. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi akar drive tempat ruang kosong berubah. dwItem2 tidak digunakan dan harus NULL.

SHCNE_MEDIAINSERTED

Media penyimpanan telah dimasukkan ke dalam drive. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi akar drive yang berisi media baru. dwItem2 tidak digunakan dan harus NULL.

SHCNE_MEDIAREMOVED

Media penyimpanan telah dihapus dari drive. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi akar drive tempat media dihapus. dwItem2 tidak digunakan dan harus NULL.

SHCNE_MKDIR

Folder telah dibuat. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi folder yang dibuat. dwItem2 tidak digunakan dan harus NULL.

SHCNE_NETSHARE

Folder pada komputer lokal sedang dibagikan melalui jaringan. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi folder yang sedang dibagikan. dwItem2 tidak digunakan dan harus NULL.

SHCNE_NETUNSHARE

Folder pada komputer lokal tidak lagi dibagi melalui jaringan. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi folder yang tidak lagi dibagikan. dwItem2 tidak digunakan dan harus NULL.

SHCNE_RENAMEFOLDER

Nama folder telah berubah. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi PIDL atau nama folder sebelumnya. dwItem2 berisi PIDL atau nama folder baru.

SHCNE_RENAMEITEM

Nama item nonfolder telah berubah. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi PIDL atau nama item sebelumnya. dwItem2 berisi PIDL baru atau nama item.

SHCNE_RMDIR

Folder telah dihapus. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi folder yang dihapus. dwItem2 tidak digunakan dan harus NULL.

SHCNE_SERVERDISCONNECT

Komputer telah terputus dari server. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi server tempat komputer terputus. dwItem2 tidak digunakan dan harus NULL.

SHCNE_UPDATEDIR

Isi folder yang ada telah berubah, tetapi folder masih ada dan belum diganti namanya. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi folder yang telah berubah. dwItem2 tidak digunakan dan harus NULL. Jika folder telah dibuat, dihapus, atau diganti namanya, gunakan SHCNE_MKDIR, SHCNE_RMDIR, atau SHCNE_RENAMEFOLDER.

SHCNE_UPDATEIMAGE

Gambar dalam daftar gambar sistem telah berubah. SHCNF_DWORD harus ditentukan dalam uFlags.

dwItem2 berisi indeks dalam daftar gambar sistem yang telah berubah. dwItem1 tidak digunakan dan harus NULL.

SHCNE_UPDATEITEM

Item yang ada (folder atau nonfolder) telah berubah, tetapi item masih ada dan belum diganti namanya. SHCNF_IDLIST atau SHCNF_PATH harus ditentukan dalam uFlags. dwItem1 berisi item yang telah berubah. dwItem2 tidak digunakan dan harus NULL. Jika item nonfolder telah dibuat, dihapus, atau diganti namanya, gunakan SHCNE_CREATE, SHCNE_DELETE, atau SHCNE_RENAMEITEM, sebagai gantinya.

SHCNE_DISKEVENTS

Menentukan kombinasi semua pengidentifikasi peristiwa disk.

SHCNE_GLOBALEVENTS

Menentukan kombinasi semua pengidentifikasi peristiwa global.

SHCNE_INTERRUPT

Peristiwa yang ditentukan terjadi sebagai akibat dari gangguan sistem. Karena nilai ini memodifikasi nilai peristiwa lain, nilai tersebut tidak dapat digunakan sendiri.

uFlags

Jenis: UINT

Bendera yang, ketika digabungkan bitwise dengan SHCNF_TYPE, menunjukkan arti parameter dwItem1 dan dwItem2 . Parameter uFlags harus menjadi salah satu nilai berikut.

SHCNF_DWORD

Parameter dwItem1 dan dwItem2 adalah nilai DWORD .

SHCNF_IDLIST

dwItem1 dan dwItem2 adalah alamat struktur ITEMIDLIST yang mewakili item yang terpengaruh oleh perubahan. Setiap ITEMIDLIST harus relatif terhadap folder desktop.

SHCNF_PATH

dwItem1 dan dwItem2 adalah alamat string panjang maksimum yang dihentikan null MAX_PATH yang berisi nama jalur lengkap item yang terpengaruh oleh perubahan.

SHCNF_PRINTER

dwItem1 dan dwItem2 adalah alamat string yang dihentikan null yang mewakili nama printer yang mudah diingat yang terpengaruh oleh perubahan.

SHCNF_FLUSH

Fungsi tidak boleh kembali sampai pemberitahuan telah dikirimkan ke semua komponen yang terpengaruh. Karena bendera ini memodifikasi bendera jenis data lainnya, bendera tersebut tidak dapat digunakan dengan sendirinya.

SHCNF_FLUSHNOWAIT

Fungsi harus mulai mengirimkan pemberitahuan ke semua komponen yang terpengaruh tetapi harus kembali segera setelah proses pemberitahuan dimulai. Karena bendera ini memodifikasi bendera jenis data lainnya, bendera tersebut tidak dapat digunakan dengan sendirinya. Bendera ini mencakup SHCNF_FLUSH.

SHCNF_NOTIFYRECURSIVE

Beri tahu klien yang terdaftar untuk semua anak.

[in, optional] dwItem1

Jenis: LPCVOID

Pilihan. Nilai dependen peristiwa pertama.

[in, optional] dwItem2

Jenis: LPCVOID

Pilihan. Nilai dependen peristiwa kedua.

Mengembalikan nilai

Tidak ada

Keterangan

Aplikasi yang mendaftarkan handler baru dari jenis apa pun harus memanggil SHChangeNotify dengan bendera SHCNE_ASSOCCHANGED untuk menginstruksikan Shell untuk membatalkan ikon dan cache gambar mini. Ini juga akan memuat ikon baru dan penangan gambar mini yang telah didaftarkan. Namun, perhatikan bahwa handler overlay ikon tidak dimuat ulang.

String yang diarahkan oleh dwItem1 dan dwItem2 dapat berupa ANSI atau Unicode.

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 shlobj_core.h (termasuk Shlobj.h)
Pustaka Shell32.lib
DLL Shell32.dll (versi 4.0 atau yang lebih baru)
Set API ext-ms-win-shell-shell32-l1-2-0 (diperkenalkan dalam Windows 8.1)