CM_NOTIFY_ACTION enumeración (cfgmgr32.h)

Esta enumeración identifica Plug and Play tipos de eventos de dispositivo.

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
Valor: 0
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE. Esta acción indica que se ha habilitado una interfaz de dispositivo que cumpla los criterios de filtro.
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE.

Esta acción indica que se ha deshabilitado una interfaz de dispositivo que cumpla los criterios de filtro.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Esta acción indica que se está quitando la consulta del dispositivo. Para permitir que la consulta se quite correctamente, llame a CloseHandle para cerrar los identificadores que tenga abiertos al dispositivo. Si no lo hace, el identificador abierto impide que la consulta quite este dispositivo correctamente. Consulte Registro para la notificación de la llegada de la interfaz de dispositivo y eliminación de dispositivos para obtener más información.

Para vetar la consulta, devuelva ERROR_CANCELLED. Sin embargo, se recomienda no vetar la consulta y permitir que se produzca cerrando los identificadores que tenga abiertos al dispositivo.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Esta acción indica que se produjo un error en la eliminación de la consulta de un dispositivo. Si ha cerrado el identificador para este dispositivo durante una notificación anterior de CM_NOTIFY_ACTION_DEVICEQUERYREMOVE, abra un nuevo identificador para el dispositivo para seguir enviando solicitudes de E/S a él. Consulte Registro para la notificación de la llegada de la interfaz de dispositivo y eliminación de dispositivos para obtener más información.
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Se quitará el dispositivo. Si todavía tiene un identificador abierto para el dispositivo, llame a CloseHandle para cerrar el identificador del dispositivo. Consulte Registro para la notificación de la llegada de la interfaz de dispositivo y eliminación de dispositivos para obtener más información. El sistema puede enviar una notificación CM_NOTIFY_ACTION_DEVICEREMOVEPENDING sin enviar un mensaje de CM_NOTIFY_ACTION_DEVICEQUERYREMOVE correspondiente. En tales casos, las aplicaciones y los controladores deben recuperarse de la pérdida del dispositivo de la mejor manera posible.
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Se ha quitado el dispositivo. Si todavía tiene un identificador abierto para el dispositivo, llame a CloseHandle para cerrar el identificador del dispositivo. Consulte Registro para la notificación de la llegada de la interfaz de dispositivo y eliminación de dispositivos para obtener más información. El sistema puede enviar una notificación de CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE sin enviar los mensajes de CM_NOTIFY_ACTION_DEVICEQUERYREMOVE o CM_NOTIFY_ACTION_DEVICEREMOVEPENDING correspondientes. En tales casos, las aplicaciones y los controladores deben recuperarse de la pérdida del dispositivo de la mejor manera posible.
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE. Esta acción se envía cuando se ha producido un evento personalizado definido por el controlador.
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Esta acción se envía cuando se ha enumerado una nueva instancia de dispositivo que cumpla los criterios de filtro.
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Esta acción se envía cuando se inicia una instancia de dispositivo que cumple los criterios de filtro.
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED
Para este valor, establezca el miembro FilterType de la estructura CM_NOTIFY_FILTER .
para CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Esta acción se envía cuando una instancia de dispositivo que cumple los criterios de filtro ya no está presente.
CM_NOTIFY_ACTION_MAX
No debe usarse.

Comentarios

Cuando un controlador llama a la función CM_Register_Notification , el parámetro pCallback contiene un puntero a una rutina a la que se va a llamar cuando se produce un evento PnP especificado. El parámetro Action de la rutina de devolución de llamada es un valor de la enumeración CM_NOTIFY_ACTION .

Requisitos

Requisito Valor
Header cfgmgr32.h

Consulte también

CM_NOTIFY_FILTER

CM_Register_Notification