CM_NOTIFY_ACTION 枚举 (cfgmgr32.h)

此枚举标识即插即用设备事件类型。

语法

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;

常量

 
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL
值: 0
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE。 此操作指示满足筛选条件的设备接口已启用。
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE

此操作表示满足筛选条件的设备接口已被禁用。
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE

此操作指示正在删除查询设备。 若要使查询删除成功,请调用 CloseHandle 以关闭已向设备打开的任何句柄。 如果不这样做,打开的句柄会阻止此设备的查询删除成功。 有关详细信息 ,请参阅注册设备接口到达通知和设备删除

若要否决查询删除,请返回ERROR_CANCELLED。 但是,建议不要通过关闭你已打开到设备的任何句柄来否决查询删除并允许它发生。
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE

此操作指示对设备的查询删除失败。 如果在上一次CM_NOTIFY_ACTION_DEVICEQUERYREMOVE通知期间关闭了此设备的 柄,请打开设备的新句柄以继续向其发送 I/O 请求。 有关详细信息 ,请参阅注册设备接口到达通知和设备删除
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE

设备将被删除。 如果设备仍有打开的句柄,请调用 CloseHandle 以关闭设备句柄。 有关详细信息 ,请参阅注册设备接口到达通知和设备删除 。 系统可能会发送 CM_NOTIFY_ACTION_DEVICEREMOVEPENDING 通知,而不发送相应的 CM_NOTIFY_ACTION_DEVICEQUERYREMOVE 消息。 在这种情况下,应用程序和驱动程序必须尽可能从设备丢失中恢复。
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE

设备已移除。 如果设备仍有打开的句柄,请调用 CloseHandle 以关闭设备句柄。 有关详细信息 ,请参阅注册设备接口到达通知和设备删除 。 系统可能会发送 CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE 通知,而无需发送相应的 CM_NOTIFY_ACTION_DEVICEQUERYREMOVECM_NOTIFY_ACTION_DEVICEREMOVEPENDING 消息。 在这种情况下,应用程序和驱动程序必须尽可能从设备丢失中恢复。
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE。 发生驱动程序定义的自定义事件时,将发送此操作。
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE。 当枚举满足筛选条件的新设备实例时,将发送此操作。
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE。 当满足筛选条件的设备实例启动时,将发送此操作。
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED
对于此值,请设置 CM_NOTIFY_FILTER 结构的 FilterType 成员
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE。 当满足筛选条件的设备实例不再存在时,将发送此操作。
CM_NOTIFY_ACTION_MAX
请勿使用。

注解

当驱动程序调用 CM_Register_Notification 函数时, pCallback 参数包含指向在发生指定 PnP 事件时要调用的例程的指针。 回调例程的 Action 参数是 CM_NOTIFY_ACTION 枚举中的值。

要求

要求
Header cfgmgr32.h

另请参阅

CM_NOTIFY_FILTER

CM_Register_Notification