Partager via


énumération CM_NOTIFY_ACTION (cfgmgr32.h)

Cette énumération identifie les types d’événements d’appareil Plug-and-Play.

Syntax

typedef enum _CM_NOTIFY_ACTION {
  CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0,
  CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL,
  CM_NOTIFY_ACTION_DEVICEQUERYREMOVE,
  CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED,
  CM_NOTIFY_ACTION_DEVICEREMOVEPENDING,
  CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE,
  CM_NOTIFY_ACTION_DEVICECUSTOMEVENT,
  CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED,
  CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED,
  CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED,
  CM_NOTIFY_ACTION_MAX
} CM_NOTIFY_ACTION, *PCM_NOTIFY_ACTION;

Constantes

 
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL
Valeur : 0
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE. Cette action indique qu’une interface d’appareil qui répond à vos critères de filtre a été activée.
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE.

Cette action indique qu’une interface d’appareil qui répond à vos critères de filtre a été désactivée.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Cette action indique que l’appareil est en cours de suppression. Pour permettre à la suppression de la requête de réussir, appelez CloseHandle pour fermer les handles que vous avez ouverts sur l’appareil. Si vous ne le faites pas, votre handle ouvert empêche la suppression de la requête de cet appareil de réussir. Pour plus d’informations, consultez Inscription pour notification de l’arrivée de l’interface d’appareil et suppression d’appareil .

Pour mettre un veto à la suppression de la requête, retournez ERROR_CANCELLED. Toutefois, il est recommandé de ne pas opposer son veto à la suppression de la requête et de l’autoriser à se produire en fermant les handles que vous avez ouverts sur l’appareil.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Cette action indique que la suppression de requête d’un appareil a échoué. Si vous avez fermé le handle sur cet appareil lors d’une notification précédente de CM_NOTIFY_ACTION_DEVICEQUERYREMOVE, ouvrez un nouveau handle sur l’appareil pour continuer à lui envoyer des demandes d’E/S. Pour plus d’informations, consultez Inscription pour notification de l’arrivée de l’interface d’appareil et suppression d’appareil .
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

L’appareil sera supprimé. Si vous avez toujours une poignée ouverte sur l’appareil, appelez CloseHandle pour fermer le handle d’appareil. Pour plus d’informations, consultez Inscription pour notification de l’arrivée de l’interface d’appareil et suppression d’appareil . Le système peut envoyer une notification CM_NOTIFY_ACTION_DEVICEREMOVEPENDING sans envoyer de message CM_NOTIFY_ACTION_DEVICEQUERYREMOVE correspondant. Dans ce cas, les applications et les pilotes doivent se remettre de la perte de l’appareil du mieux qu’ils peuvent.
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Le périphérique a été déconnecté. Si vous avez toujours une poignée ouverte sur l’appareil, appelez CloseHandle pour fermer le handle d’appareil. Pour plus d’informations, consultez Inscription pour notification de l’arrivée de l’interface d’appareil et suppression d’appareil . Le système peut envoyer une notification CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE sans envoyer de messages CM_NOTIFY_ACTION_DEVICEQUERYREMOVE ou CM_NOTIFY_ACTION_DEVICEREMOVEPENDING correspondants. Dans ce cas, les applications et les pilotes doivent se remettre de la perte de l’appareil du mieux qu’ils peuvent.
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE. Cette action est envoyée lorsqu’un événement personnalisé défini par le pilote s’est produit.
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Cette action est envoyée lorsqu’un nouvel appareil instance qui répond à vos critères de filtre a été énuméré.
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Cette action est envoyée lorsqu’un appareil instance qui répond à vos critères de filtre démarre.
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED
Pour cette valeur, définissez le membre FilterType de la structure CM_NOTIFY_FILTER
pour CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Cette action est envoyée lorsqu’un appareil instance qui répond à vos critères de filtre n’est plus présent.
CM_NOTIFY_ACTION_MAX
Ne pas utiliser.

Remarques

Lorsqu’un pilote appelle la fonction CM_Register_Notification , le paramètre pCallback contient un pointeur vers une routine à appeler lorsqu’un événement PnP spécifié se produit. Le paramètre Action de la routine de rappel est une valeur de l’énumération CM_NOTIFY_ACTION .

Configuration requise

Condition requise Valeur
En-tête cfgmgr32.h

Voir aussi

CM_NOTIFY_FILTER

CM_Register_Notification