Bagikan melalui


Metode IShellChangeNotify::OnChange (shlobj_core.h)

Menginformasikan ekstensi namespace layanan bahwa peristiwa telah terjadi yang memengaruhi itemnya.

Sintaks

HRESULT OnChange(
                 LONG              lEvent,
  [in, optional] PCIDLIST_ABSOLUTE pidl1,
  [in, optional] PCIDLIST_ABSOLUTE pidl2
);

Parameter

lEvent

Jenis: LONG

Nilai yang 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 pidl1 dan pidl2 harus sama, masing-masing, untuk semua peristiwa yang ditentukan. Parameter lEvent mungkin berisi satu atau beberapa bendera berikut.

SHCNE_ALLEVENTS (0x7FFFFFFFL)

Semua peristiwa telah terjadi.

SHCNE_ASSOCCHANGED (0x08000000L)

Asosiasi tipe file telah berubah. Parameter pidl1 dan pidl2 tidak digunakan dan harus NULL.

SHCNE_ATTRIBUTES (0x00000800L)

Atribut item atau folder telah berubah. Parameter pidl1 berisi item atau folder yang telah berubah. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_CREATE (0x00000002L)

Item nonfolder telah dibuat. Parameter pidl1 berisi item yang dibuat. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_DELETE (0x00000004L)

Item nonfolder telah dihapus. Parameter pidl1 berisi item yang dihapus. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_DRIVEADD (0x00000100L)

Drive telah ditambahkan. Parameter pidl1 berisi akar drive yang ditambahkan. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_DRIVEADDGUI (0x00010000L)

Windows XP dan yang lebih baru: Tidak digunakan.

SHCNE_DRIVEREMOVED (0x00000080L)

Kandar telah dilepas. Parameter pidl1 berisi akar drive yang dihapus. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_FREESPACE (0x00040000L)

Jumlah ruang kosong pada drive telah berubah. Parameter pidl1 berisi akar drive tempat ruang kosong berubah. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_MEDIAINSERTED (0x00000020L)

Media penyimpanan telah dimasukkan ke dalam drive. Parameter pidl1 berisi akar drive yang berisi media baru. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_MEDIAREMOVED (0x00000040L)

Media penyimpanan telah dihapus dari drive. Parameter pidl1 berisi akar drive tempat media dihapus. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_MKDIR (0x00000008L)

Folder telah dibuat. Parameter pidl1 berisi folder yang dibuat. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_NETSHARE (0x00000200L)

Folder pada komputer lokal sedang dibagikan melalui jaringan. Parameter pidl1 berisi folder yang sedang dibagikan. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_NETUNSHARE (0x00000400L)

Folder pada komputer lokal tidak lagi dibagikan melalui jaringan. Parameter pidl1 berisi folder yang tidak lagi dibagikan. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_RENAMEFOLDER (0x00020000L)

Nama folder telah berubah. Parameter pidl1 berisi PIDL atau nama folder sebelumnya. Parameter pidl2 berisi PIDL atau nama folder baru.

SHCNE_RENAMEITEM (0x00000001L)

Nama item nonfolder telah berubah. Parameter pidl1 berisi PIDL atau nama item sebelumnya. Parameter pidl2 berisi PIDL atau nama item baru.

SHCNE_RMDIR (0x00000010L)

Folder telah dihapus. Parameter pidl1 berisi folder yang dihapus. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_SERVERDISCONNECT (0x00004000L)

Komputer telah terputus dari server. Parameter pidl1 berisi server tempat komputer terputus. Parameter pidl2 tidak digunakan dan harus NULL.

SHCNE_UPDATEDIR (0x00001000L)

Isi folder yang ada telah berubah, tetapi folder masih ada dan belum diganti namanya. Parameter pidl1 berisi folder yang telah berubah. Parameter pidl2 tidak digunakan dan harus NULL. Jika folder telah dibuat, dihapus, atau diganti namanya, gunakan SHCNE_MKDIR, SHCNE_RMDIR, atau SHCNE_RENAMEFOLDER, sebagai gantinya.

SHCNE_UPDATEIMAGE (0x00008000L)

Gambar dalam daftar gambar sistem telah berubah. Parameter pidl2 berisi indeks dalam daftar gambar sistem yang telah berubah.

SHCNE_UPDATEITEM (0x00002000L)

Item yang ada (folder atau nonfolder) telah berubah, tetapi item masih ada dan belum diganti namanya. Parameter pidl1 berisi item yang telah berubah. Parameter pidl2 tidak digunakan dan harus NULL. Jika item nonfolder telah dibuat, dihapus, atau diganti namanya, gunakan SHCNE_CREATE, SHCNE_DELETE, atau SHCNE_RENAMEITEM, sebagai gantinya.

Nilai berikut menentukan kombinasi peristiwa lain.

SHCNE_DISKEVENTS (0x0002381FL)

Menentukan kombinasi semua pengidentifikasi peristiwa disk.

SHCNE_GLOBALEVENTS (0x0C0581E0L)

Menentukan kombinasi semua pengidentifikasi peristiwa global.

Nilai berikut memodifikasi nilai peristiwa lain dan tidak dapat digunakan sendiri.

SHCNE_INTERRUPT (0x80000000L)

Peristiwa yang ditentukan terjadi sebagai akibat dari gangguan sistem.

[in, optional] pidl1

Jenis: PCIDLIST_ABSOLUTE

Pengidentifikasi item yang bergantung pada peristiwa pertama.

[in, optional] pidl2

Jenis: PCIDLIST_ABSOLUTE

Pengidentifikasi item yang bergantung pada peristiwa kedua.

Mengembalikan nilai

Jenis: HRESULT

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

Keterangan

Metode ini mirip dalam fungsi dan penggunaan dengan SHChangeNotify.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shlobj_core.h
DLL Shell32.dll (versi 4.71 atau yang lebih baru)