Partager via


Méthode IShellChangeNotify ::OnChange (shlobj_core.h)

Informe une extension d’espace de noms qu’un événement qui affecte ses éléments a eu lieu.

Syntaxe

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

Paramètres

lEvent

Type : LONG

Valeur qui décrit l’événement qui s’est produit. En règle générale, un seul événement est spécifié à la fois. Si plusieurs événements sont spécifiés, les valeurs contenues dans les paramètres pidl1 et pidl2 doivent être les mêmes, respectivement, pour tous les événements spécifiés. Le paramètre lEvent peut contenir un ou plusieurs des indicateurs suivants.

SHCNE_ALLEVENTS (0x7FFFFFL)

Tous les événements se sont produits.

SHCNE_ASSOCCHANGED (0x08000000L)

Une association de type de fichier a changé. Les paramètres pidl1 et pidl2 ne sont pas utilisés et doivent avoir la valeur NULL.

SHCNE_ATTRIBUTES (0x00000800L)

Les attributs d’un élément ou d’un dossier ont changé. Le paramètre pidl1 contient l’élément ou le dossier qui a été modifié. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_CREATE (0x00000002L)

Un élément non-dossier a été créé. Le paramètre pidl1 contient l’élément qui a été créé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_DELETE (0x00000004L)

Un élément non-dossier a été supprimé. Le paramètre pidl1 contient l’élément qui a été supprimé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_DRIVEADD (0x00000100L)

Un lecteur a été ajouté. Le paramètre pidl1 contient la racine du lecteur qui a été ajouté. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_DRIVEADDGUI (0x00010000L)

Windows XP et versions ultérieures : non utilisé.

SHCNE_DRIVEREMOVED (0x00000080L)

Un lecteur a été supprimé. Le paramètre pidl1 contient la racine du lecteur qui a été supprimé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_FREESPACE (0x00040000L)

La quantité d’espace libre sur un lecteur a changé. Le paramètre pidl1 contient la racine du lecteur sur lequel l’espace libre a été modifié. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_MEDIAINSERTED (0x00000020L)

Le support de stockage a été inséré dans un lecteur. Le paramètre pidl1 contient la racine du lecteur qui contient le nouveau média. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_MEDIAREMOVED (0x00000040L)

Le support de stockage a été supprimé d’un lecteur. Le paramètre pidl1 contient la racine du lecteur à partir duquel le média a été supprimé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_MKDIR (0x00000008L)

Un dossier a été créé. Le paramètre pidl1 contient le dossier qui a été créé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_NETSHARE (0x00000200L)

Un dossier sur l’ordinateur local est partagé via le réseau. Le paramètre pidl1 contient le dossier en cours de partage. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_NETUNSHARE (0x00000400L)

Un dossier sur l’ordinateur local n’est plus partagé via le réseau. Le paramètre pidl1 contient le dossier qui n’est plus partagé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_RENAMEFOLDER (0x00020000L)

Le nom d’un dossier a changé. Le paramètre pidl1 contient le code PIDL précédent ou le nom du dossier. Le paramètre pidl2 contient le nouveau PIDL ou le nouveau nom du dossier.

SHCNE_RENAMEITEM (0x00000001L)

Le nom d’un élément non-dossier a changé. Le paramètre pidl1 contient le code PIDL précédent ou le nom de l’élément. Le paramètre pidl2 contient le nouveau PIDL ou le nouveau nom de l’élément.

SHCNE_RMDIR (0x00000010L)

Un dossier a été supprimé. Le paramètre pidl1 contient le dossier qui a été supprimé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_SERVERDISCONNECT (0x00004000L)

L’ordinateur s’est déconnecté d’un serveur. Le paramètre pidl1 contient le serveur à partir duquel l’ordinateur a été déconnecté. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_UPDATEDIR (0x00001000L)

Le contenu d’un dossier existant a changé, mais le dossier existe toujours et n’a pas été renommé. Le paramètre pidl1 contient le dossier qui a changé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL. Si un dossier a été créé, supprimé ou renommé, utilisez SHCNE_MKDIR, SHCNE_RMDIR ou SHCNE_RENAMEFOLDER, respectivement.

SHCNE_UPDATEIMAGE (0x00008000L)

Une image de la liste d’images système a changé. Le paramètre pidl2 contient l’index de la liste d’images système qui a changé.

SHCNE_UPDATEITEM (0x00002000L)

Un élément existant (un dossier ou un autre dossier) a changé, mais l’élément existe toujours et n’a pas été renommé. Le paramètre pidl1 contient l’élément qui a changé. Le paramètre pidl2 n’est pas utilisé et doit avoir la valeur NULL. Si un élément non-dossier a été créé, supprimé ou renommé, utilisez SHCNE_CREATE, SHCNE_DELETE ou SHCNE_RENAMEITEM, respectivement.

Les valeurs suivantes spécifient des combinaisons d’autres événements.

SHCNE_DISKEVENTS (0x0002381FL)

Spécifie une combinaison de tous les identificateurs d’événement de disque.

SHCNE_GLOBALEVENTS (0x0C0581E0L)

Spécifie une combinaison de tous les identificateurs d’événements globaux.

La valeur suivante modifie d’autres valeurs d’événement et ne peut pas être utilisée seule.

SHCNE_INTERRUPT (0x80000000L)

L’événement spécifié s’est produit à la suite d’une interruption du système.

[in, optional] pidl1

Type : PCIDLIST_ABSOLUTE

Premier identificateur d’élément dépendant des événements.

[in, optional] pidl2

Type : PCIDLIST_ABSOLUTE

Deuxième identificateur d’élément dépendant des événements.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Cette méthode est similaire dans la fonction et l’utilisation à SHChangeNotify.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlobj_core.h
DLL Shell32.dll (version 4.71 ou ultérieure)