Metodo IShellChangeNotify::OnChange (shlobj_core.h)
Informa un'estensione dello spazio dei nomi che si è verificato un evento che influisce sugli elementi.
Sintassi
HRESULT OnChange(
LONG lEvent,
[in, optional] PCIDLIST_ABSOLUTE pidl1,
[in, optional] PCIDLIST_ABSOLUTE pidl2
);
Parametri
lEvent
Tipo: LONG
Valore che descrive l'evento che si è verificato. In genere, viene specificato un solo evento alla volta. Se vengono specificati più eventi, i valori contenuti nei parametri pidl1 e pidl2 devono essere rispettivamente uguali per tutti gli eventi specificati. Il parametro lEvent può contenere uno o più flag seguenti.
SHCNE_ALLEVENTS (0x7FFFFFFFFFL)
Tutti gli eventi si sono verificati.
SHCNE_ASSOCCHANGED (0x08000000L)
È stata modificata un'associazione di tipi di file. I parametri pidl1 e pidl2 non vengono usati e devono essere NULL.
SHCNE_ATTRIBUTES (0x00000800L)
Gli attributi di un elemento o di una cartella sono stati modificati. Il parametro pidl1 contiene l'elemento o la cartella che è stata modificata. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_CREATE (0x00000002L)
È stato creato un elemento nonfolder. Il parametro pidl1 contiene l'elemento creato. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_DELETE (0x00000004L)
È stato eliminato un elemento nonfolder. Il parametro pidl1 contiene l'elemento eliminato. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_DRIVEADD (0x00000100L)
È stata aggiunta un'unità. Il parametro pidl1 contiene la radice dell'unità aggiunta. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_DRIVEADDGUI (0x00010000L)
Windows XP e versioni successive: non usato.
SHCNE_DRIVEREMOVED (0x000000080L)
Un'unità è stata rimossa. Il parametro pidl1 contiene la radice dell'unità rimossa. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_FREESPACE (0x00040000L)
La quantità di spazio libero in un'unità è cambiata. Il parametro pidl1 contiene la radice dell'unità in cui è stato modificato lo spazio libero. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_MEDIAINSERTED (0x00000020L)
I supporti di archiviazione sono stati inseriti in un'unità. Il parametro pidl1 contiene la radice dell'unità che contiene i nuovi supporti. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_MEDIAREMOVED (0x00000040L)
I supporti di archiviazione sono stati rimossi da un'unità. Il parametro pidl1 contiene la radice dell'unità da cui è stato rimosso il supporto. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_MKDIR (0x000000008L)
È stata creata una cartella. Il parametro pidl1 contiene la cartella creata. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_NETSHARE (0x00000200L)
Una cartella nel computer locale viene condivisa tramite la rete. Il parametro pidl1 contiene la cartella che viene condivisa. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_NETUNSHARE (0x000004000L)
Una cartella nel computer locale non viene più condivisa tramite la rete. Il parametro pidl1 contiene la cartella che non è più condivisa. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_RENAMEFOLDER (0x00020000L)
Il nome di una cartella è cambiato. Il parametro pidl1 contiene il nome o il piDL precedente della cartella. Il parametro pidl2 contiene il nuovo PIDL o il nome della cartella.
SHCNE_RENAMEITEM (0x000000001L)
Il nome di un elemento nonfolder è stato modificato. Il parametro pidl1 contiene il nome o piDL precedente dell'elemento. Il parametro pidl2 contiene il nuovo PIDL o il nome dell'elemento.
SHCNE_RMDIR (0x00000010L)
È stata rimossa una cartella. Il parametro pidl1 contiene la cartella rimossa. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_SERVERDISCONNECT (0x00004000L)
Il computer è disconnesso da un server. Il parametro pidl1 contiene il server da cui è stato disconnesso il computer. Il parametro pidl2 non viene usato e deve essere NULL.
SHCNE_UPDATEDIR (0x00001000L)
Il contenuto di una cartella esistente è stato modificato, ma la cartella esiste ancora e non è stata rinominata. Il parametro pidl1 contiene la cartella modificata. Il parametro pidl2 non viene usato e deve essere NULL. Se una cartella è stata creata, eliminata o rinominata, usare SHCNE_MKDIR, SHCNE_RMDIR oSHCNE_RENAMEFOLDER rispettivamente.
SHCNE_UPDATEIMAGE (0x00008000L)
Un'immagine nell'elenco delle immagini di sistema è stata modificata. Il parametro pidl2 contiene l'indice nell'elenco di immagini di sistema modificato.
SHCNE_UPDATEITEM (0x00002000L)
Un elemento esistente (una cartella o un nonfolder) è stato modificato, ma l'elemento esiste ancora e non è stato rinominato. Il parametro pidl1 contiene l'elemento modificato. Il parametro pidl2 non viene usato e deve essere NULL. Se un elemento nonfolder è stato creato, eliminato o rinominato, usare SHCNE_CREATE, SHCNE_DELETE o SHCNE_RENAMEITEM rispettivamente.
I valori seguenti specificano combinazioni di altri eventi.
SHCNE_DISKEVENTS (0x0002381FL)
Specifica una combinazione di tutti gli identificatori di evento del disco.
SHCNE_GLOBALEVENTS (0x0C0581E0L)
Specifica una combinazione di tutti gli identificatori di eventi globali.
Il valore seguente modifica altri valori di evento e non può essere usato solo.
SHCNE_INTERRUPT (0x80000000L)
L'evento specificato si è verificato come risultato di un interruzione di sistema.
[in, optional] pidl1
Tipo: PCIDLIST_ABSOLUTE
Primo identificatore dell'elemento dipendente dall'evento.
[in, optional] pidl2
Tipo: PCIDLIST_ABSOLUTE
Secondo identificatore dell'elemento dipendente dall'evento.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Questo metodo è simile alla funzione e all'utilizzo di SHChangeNotify.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional, Windows XP [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shlobj_core.h |
DLL | Shell32.dll (versione 4.71 o successiva) |