Share via


CM_NOTIFY_ACTION-Enumeration (cfgmgr32.h)

Diese Enumeration identifiziert Plug & Play Geräteereignistypen.

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;

Konstanten

 
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL
Wert: 0
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
, um CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE. Diese Aktion gibt an, dass eine Geräteschnittstelle aktiviert wurde, die Ihre Filterkriterien erfüllt.
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
, um CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE.

Diese Aktion gibt an, dass eine Geräteschnittstelle, die Ihre Filterkriterien erfüllt, deaktiviert wurde.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
, um CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Diese Aktion gibt an, dass das Gerät entfernt wird. Damit die Abfrage erfolgreich entfernt werden kann, rufen Sie CloseHandle auf, um alle Handles zu schließen, die Sie für das Gerät geöffnet haben. Wenn Sie dies nicht tun, verhindert Ihr geöffnetes Handle, dass die Abfrage entfernt dieses Geräts erfolgreich ist. Weitere Informationen finden Sie unter Registrieren für Benachrichtigung über die Ankunft der Geräteschnittstelle und Entfernen von Geräten .

Wenn Sie ein Veto gegen die Abfrage entfernen möchten, geben Sie ERROR_CANCELLED zurück. Es wird jedoch empfohlen, dass Sie kein Veto gegen die Abfrage entfernen und zulassen, indem Sie alle Handles schließen, die Sie für das Gerät geöffnet haben.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
, um CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Diese Aktion gibt an, dass beim Entfernen eines Geräts ein Fehler aufgetreten ist. Wenn Sie das Handle für dieses Gerät während einer vorherigen Benachrichtigung über CM_NOTIFY_ACTION_DEVICEQUERYREMOVE geschlossen haben, öffnen Sie ein neues Handle für das Gerät, um weiterhin E/A-Anforderungen an das Gerät zu senden. Weitere Informationen finden Sie unter Registrieren für Benachrichtigung über die Ankunft der Geräteschnittstelle und Entfernen von Geräten .
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
, um CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Das Gerät wird entfernt. Wenn Sie noch über ein geöffnetes Handle für das Gerät verfügen, rufen Sie CloseHandle auf, um das Gerätehandle zu schließen. Weitere Informationen finden Sie unter Registrieren für Benachrichtigung über die Ankunft der Geräteschnittstelle und Entfernen von Geräten . Das System kann eine CM_NOTIFY_ACTION_DEVICEREMOVEPENDING Benachrichtigung senden, ohne eine entsprechende CM_NOTIFY_ACTION_DEVICEQUERYREMOVE Nachricht zu senden. In solchen Fällen müssen die Anwendungen und Treiber nach dem Verlust des Geräts so gut wie möglich wiederhergestellt werden.
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
, um CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Das Gerät wurde entfernt. Wenn Sie noch über ein geöffnetes Handle für das Gerät verfügen, rufen Sie CloseHandle auf, um das Gerätehandle zu schließen. Weitere Informationen finden Sie unter Registrieren für Benachrichtigung über die Ankunft der Geräteschnittstelle und Entfernen von Geräten . Das System kann eine CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE Benachrichtigung senden, ohne entsprechende CM_NOTIFY_ACTION_DEVICEQUERYREMOVE oder CM_NOTIFY_ACTION_DEVICEREMOVEPENDING Nachrichten zu senden. In solchen Fällen müssen die Anwendungen und Treiber nach dem Verlust des Geräts so gut wie möglich wiederhergestellt werden.
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
, um CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE. Diese Aktion wird gesendet, wenn ein vom Treiber definiertes benutzerdefiniertes Ereignis aufgetreten ist.
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Diese Aktion wird gesendet, wenn ein neues Gerät instance, das Ihre Filterkriterien erfüllt, aufgelistet wurde.
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Diese Aktion wird gesendet, wenn ein Gerät instance gestartet wird, das Ihre Filterkriterien erfüllt.
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED
Legen Sie für diesen Wert den FilterType-Member der CM_NOTIFY_FILTER-Struktur fest.
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Diese Aktion wird gesendet, wenn ein Gerät instance, das Ihre Filterkriterien erfüllt, nicht mehr vorhanden ist.
CM_NOTIFY_ACTION_MAX
Nicht verwenden.

Hinweise

Wenn ein Treiber die CM_Register_Notification-Funktion aufruft, enthält der pCallback-Parameter einen Zeiger auf eine Routine, die aufgerufen werden soll, wenn ein angegebenes PnP-Ereignis auftritt. Der Action-Parameter der Rückrufroutine ist ein Wert aus der CM_NOTIFY_ACTION-Enumeration .

Anforderungen

Anforderung Wert
Header cfgmgr32.h

Weitere Informationen

CM_NOTIFY_FILTER

CM_Register_Notification