SHChangeNotify, fonction (shlobj_core.h)

Avertit le système d’un événement qu’une application a effectué. Une application doit utiliser cette fonction si elle effectue une action susceptible d’affecter l’interpréteur de commandes.

Syntaxe

void SHChangeNotify(
                 LONG    wEventId,
                 UINT    uFlags,
  [in, optional] LPCVOID dwItem1,
  [in, optional] LPCVOID dwItem2
);

Paramètres

wEventId

Type : LONG

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 dwItem1 et dwItem2 doivent être les mêmes, respectivement, pour tous les événements spécifiés. Ce paramètre peut être une ou plusieurs des valeurs suivantes :

SHCNE_ALLEVENTS

Tous les événements se sont produits.

SHCNE_ASSOCCHANGED

Une association de type de fichier a changé. SHCNF_IDLIST doit être spécifié dans le paramètre uFlags . dwItem1 et dwItem2 ne sont pas utilisés et doivent avoir la valeur NULL. Cet événement doit également être envoyé pour les protocoles inscrits.

SHCNE_ATTRIBUTES

Les attributs d’un élément ou d’un dossier ont changé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient l’élément ou le dossier qui a changé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_CREATE

Un élément non dossier a été créé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient l’élément qui a été créé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_DELETE

Un élément non dossier a été supprimé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient l’élément qui a été supprimé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_DRIVEADD

Un lecteur a été ajouté. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient la racine du lecteur qui a été ajouté. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_DRIVEADDGUI

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

SHCNE_DRIVEREMOVED

Un lecteur a été supprimé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient la racine du lecteur qui a été supprimé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_EXTENDED_EVENT

Pas utilisé pour l'instant.

SHCNE_FREESPACE

La quantité d’espace libre sur un lecteur a changé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient la racine du lecteur sur lequel l’espace libre a été modifié. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_MEDIAINSERTED

Le support de stockage a été inséré dans un lecteur. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient la racine du lecteur qui contient le nouveau média. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_MEDIAREMOVED

Le support de stockage a été supprimé d’un lecteur. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient la racine du lecteur à partir duquel le média a été supprimé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_MKDIR

Un dossier a été créé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient le dossier qui a été créé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_NETSHARE

Un dossier sur l’ordinateur local est partagé via le réseau. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient le dossier qui est partagé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_NETUNSHARE

Un dossier sur l’ordinateur local n’est plus partagé via le réseau. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient le dossier qui n’est plus partagé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_RENAMEFOLDER

Le nom d’un dossier a changé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient le fichier PIDL précédent ou le nom du dossier. dwItem2 contient le nouveau PIDL ou le nom du dossier.

SHCNE_RENAMEITEM

Le nom d’un élément non dossier a changé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient le code PIDL précédent ou le nom de l’élément. dwItem2 contient le nouveau PIDL ou le nom de l’élément.

SHCNE_RMDIR

Un dossier a été supprimé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient le dossier qui a été supprimé. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_SERVERDISCONNECT

L’ordinateur s’est déconnecté d’un serveur. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient le serveur à partir duquel l’ordinateur a été déconnecté. dwItem2 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_UPDATEDIR

Le contenu d’un dossier existant a changé, mais le dossier existe toujours et n’a pas été renommé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient le dossier qui a changé. dwItem2 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

Une image de la liste d’images système a changé. SHCNF_DWORD doit être spécifié dans uFlags.

dwItem2 contient l’index de la liste d’images système qui a changé. dwItem1 n’est pas utilisé et doit avoir la valeur NULL.

SHCNE_UPDATEITEM

Un élément existant (un dossier ou un autre dossier) a changé, mais l’élément existe toujours et n’a pas été renommé. SHCNF_IDLIST ou SHCNF_PATH doivent être spécifiés dans uFlags. dwItem1 contient l’élément qui a été modifié. dwItem2 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.

SHCNE_DISKEVENTS

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

SHCNE_GLOBALEVENTS

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

SHCNE_INTERRUPT

L’événement spécifié s’est produit à la suite d’une interruption du système. Comme cette valeur modifie d’autres valeurs d’événement, elle ne peut pas être utilisée seule.

uFlags

Type : UINT

Indicateurs qui, lorsqu’ils sont combinés au niveau du bit avec SHCNF_TYPE, indiquent la signification des paramètres dwItem1 et dwItem2 . Le paramètre uFlags doit être l’une des valeurs suivantes.

SHCNF_DWORD

Les paramètres dwItem1 et dwItem2 sont des valeurs DWORD .

SHCNF_IDLIST

dwItem1 et dwItem2 sont les adresses des structures ITEMIDLIST qui représentent le ou les éléments affectés par la modification. Chaque ITEMIDLIST doit être relatif au dossier de bureau.

SHCNF_PATH

dwItem1 et dwItem2 sont les adresses de chaînes terminées par null de longueur maximale MAX_PATH qui contiennent les noms de chemin d’accès complet des éléments affectés par la modification.

SHCNF_PRINTER

dwItem1 et dwItem2 sont les adresses des chaînes terminées par null qui représentent les noms conviviaux des imprimantes affectées par la modification.

SHCNF_FLUSH

La fonction ne doit pas retourner tant que la notification n’a pas été remise à tous les composants affectés. Comme cet indicateur modifie d’autres indicateurs de type de données, il ne peut pas être utilisé seul.

SHCNF_FLUSHNOWAIT

La fonction doit commencer à remettre des notifications à tous les composants affectés, mais elle doit être retournée dès que le processus de notification a commencé. Comme cet indicateur modifie d’autres indicateurs de type de données, il ne peut pas être utilisé par lui-même. Cet indicateur inclut SHCNF_FLUSH.

SHCNF_NOTIFYRECURSIVE

Notifier les clients inscrits pour tous les enfants.

[in, optional] dwItem1

Type : LPCVOID

facultatif. Première valeur dépendante des événements.

[in, optional] dwItem2

Type : LPCVOID

facultatif. Deuxième valeur dépendante des événements.

Valeur de retour

None

Remarques

Les applications qui inscrivent de nouveaux gestionnaires de tout type doivent appeler SHChangeNotify avec l’indicateur SHCNE_ASSOCCHANGED pour indiquer à l’interpréteur de commandes d’invalider le cache d’icônes et de miniatures. Cela charge également les nouveaux gestionnaires d’icônes et de miniatures qui ont été inscrits. Notez toutefois que les gestionnaires de superposition d’icônes ne sont pas rechargés.

Les chaînes pointées par dwItem1 et dwItem2 peuvent être ANSI ou Unicode.

Configuration requise

Condition requise Valeur
Client minimal pris en charge 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 (inclure Shlobj.h)
Bibliothèque Shell32.lib
DLL Shell32.dll (version 4.0 ou ultérieure)
Ensemble d’API ext-ms-win-shell-shell32-l1-2-0 (introduit dans Windows 8.1)