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