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) |