Condividi tramite


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)