IShellChangeNotify::OnChange-Methode (shlobj_core.h)

Informiert eine Namespaceerweiterung darüber, dass ein Ereignis stattgefunden hat, das sich auf seine Elemente auswirkt.

Syntax

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

Parameter

lEvent

Typ: LONG

Ein Wert, der das aufgetretene Ereignis beschreibt. In der Regel wird nur ein Ereignis gleichzeitig angegeben. Wenn mehrere Ereignisse angegeben werden, müssen die werte in den Parametern pidl1 und pidl2 für alle angegebenen Ereignisse identisch sein. Der lEvent-Parameter kann mindestens eins der folgenden Flags enthalten.

SHCNE_ALLEVENTS (0x7FFFFFFFL)

Alle Ereignisse sind aufgetreten.

SHCNE_ASSOCCHANGED (0x08000000L)

Eine Dateitypzuordnung wurde geändert. Die Parameter pidl1 und pidl2 werden nicht verwendet und müssen NULL sein.

SHCNE_ATTRIBUTES (0x00000800L)

Die Attribute eines Elements oder Ordners wurden geändert. Der pidl1-Parameter enthält das Element oder den Ordner, der sich geändert hat. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_CREATE (0x00000002L)

Es wurde ein Nichtordnerelement erstellt. Der pidl1-Parameter enthält das element, das erstellt wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_DELETE (0x00000004L)

Ein Nichtordnerelement wurde gelöscht. Der pidl1-Parameter enthält das element, das gelöscht wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_DRIVEADD (0x00000100L)

Ein Laufwerk wurde hinzugefügt. Der pidl1-Parameter enthält den Stamm des laufwerks, das hinzugefügt wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_DRIVEADDGUI (0x00010000L)

Windows XP und höher: Nicht verwendet.

SHCNE_DRIVEREMOVED (0x000000080L)

Ein Laufwerk wurde entfernt. Der pidl1-Parameter enthält den Stamm des Laufwerks, das entfernt wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_FREESPACE (0x00040000L)

Die Menge des freien Speicherplatzes auf einem Laufwerk hat sich geändert. Der pidl1-Parameter enthält den Stamm des Laufwerks, auf dem sich der freie Speicherplatz geändert hat. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_MEDIAINSERTED (0x00000020L)

Speichermedien wurden in ein Laufwerk eingefügt. Der pidl1-Parameter enthält den Stamm des Laufwerks, das die neuen Medien enthält. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_MEDIAREMOVED (0x00000040L)

Speichermedien wurden aus einem Laufwerk entfernt. Der pidl1-Parameter enthält den Stamm des Laufwerks, von dem das Medium entfernt wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_MKDIR (0x00000008L)

Ein Ordner wurde erstellt. Der pidl1-Parameter enthält den ordner, der erstellt wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_NETSHARE (0x00000200L)

Ein Ordner auf dem lokalen Computer wird über das Netzwerk freigegeben. Der pidl1-Parameter enthält den Ordner, der freigegeben wird. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_NETUNSHARE (0x00000400L)

Ein Ordner auf dem lokalen Computer wird nicht mehr über das Netzwerk freigegeben. Der pidl1-Parameter enthält den Ordner, der nicht mehr freigegeben wird. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_RENAMEFOLDER (0x00020000L)

Der Name eines Ordners wurde geändert. Der pidl1-Parameter enthält die vorherige PIDL oder den Namen des Ordners. Der pidl2-Parameter enthält die neue PIDL oder den Namen des Ordners.

SHCNE_RENAMEITEM (0x00000001L)

Der Name eines Nichtordnerelements wurde geändert. Der pidl1-Parameter enthält die vorherige PIDL oder den Namen des Elements. Der pidl2-Parameter enthält die neue PIDL oder den Namen des Elements.

SHCNE_RMDIR (0x00000010L)

Ein Ordner wurde entfernt. Der pidl1-Parameter enthält den Ordner, der entfernt wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_SERVERDISCONNECT (0x00004000L)

Der Computer wurde von einem Server getrennt. Der pidl1-Parameter enthält den Server, von dem der Computer getrennt wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein.

SHCNE_UPDATEDIR (0x00001000L)

Der Inhalt eines vorhandenen Ordners wurde geändert, aber der Ordner ist weiterhin vorhanden und wurde nicht umbenannt. Der pidl1-Parameter enthält den Ordner, der geändert wurde. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein. Wenn ein Ordner erstellt, gelöscht oder umbenannt wurde, verwenden Sie stattdessen SHCNE_MKDIR, SHCNE_RMDIR oder SHCNE_RENAMEFOLDER.

SHCNE_UPDATEIMAGE (0x00008000L)

Ein Image in der Systemimageliste wurde geändert. Der pidl2-Parameter enthält den Index in der Systemimageliste, der geändert wurde.

SHCNE_UPDATEITEM (0x00002000L)

Ein vorhandenes Element (ein Ordner oder ein Nichtordner) wurde geändert, aber das Element ist weiterhin vorhanden und wurde nicht umbenannt. Der pidl1-Parameter enthält das geänderte Element. Der pidl2-Parameter wird nicht verwendet und sollte NULL sein. Wenn ein Nichtordnerelement erstellt, gelöscht oder umbenannt wurde, verwenden Sie stattdessen SHCNE_CREATE, SHCNE_DELETE oder SHCNE_RENAMEITEM.

Die folgenden Werte geben Kombinationen anderer Ereignisse an.

SHCNE_DISKEVENTS (0x0002381FL)

Gibt eine Kombination aller Datenträgerereignisbezeichner an.

SHCNE_GLOBALEVENTS (0x0C0581E0L)

Gibt eine Kombination aller globalen Ereignisbezeichner an.

Der folgende Wert ändert andere Ereigniswerte und kann nicht allein verwendet werden.

SHCNE_INTERRUPT (0x80000000L)

Das angegebene Ereignis ist als Ergebnis eines Systemunterbrechungs aufgetreten.

[in, optional] pidl1

Typ: PCIDLIST_ABSOLUTE

Der erste ereignisabhängige Elementbezeichner.

[in, optional] pidl2

Typ: PCIDLIST_ABSOLUTE

Der zweite ereignisabhängige Elementbezeichner.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Methode ähnelt in Funktion und Verwendung von SHChangeNotify.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlobj_core.h
DLL Shell32.dll (Version 4.71 oder höher)