Partilhar via


CM_NOTIFY_ACTION enumeração (cfgmgr32.h)

Essa enumeração identifica os tipos de evento de dispositivo Plug and Play.

Sintaxe

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 esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE. Essa ação indica que uma interface de dispositivo que atenda aos critérios de filtro foi habilitada.
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE.

Essa ação indica que uma interface do dispositivo que atende aos critérios de filtro foi desabilitada.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Essa ação indica que o dispositivo está sendo removido da consulta. Para permitir que a remoção da consulta seja bem-sucedida, chame CloseHandle para fechar todos os identificadores que você tiver aberto no dispositivo. Se você não fizer isso, seu identificador aberto impedirá que a remoção da consulta deste dispositivo seja bem-sucedida. Consulte Registrando para notificação de chegada da interface do dispositivo e remoção de dispositivo para obter mais informações.

Para vetar a remoção da consulta, retorne ERROR_CANCELLED. No entanto, é recomendável que você não vete a remoção da consulta e permita que ela ocorra fechando as alças que você tiver aberto no dispositivo.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Essa ação indica que a remoção da consulta de um dispositivo falhou. Se você fechou o identificador para esse dispositivo durante uma notificação anterior de CM_NOTIFY_ACTION_DEVICEQUERYREMOVE, abra um novo identificador para o dispositivo para continuar enviando solicitações de E/S para ele. Consulte Registrando para notificação de chegada da interface do dispositivo e remoção de dispositivo para obter mais informações.
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

O dispositivo será removido. Se você ainda tiver um identificador aberto para o dispositivo, chame CloseHandle para fechar o identificador do dispositivo. Consulte Registrando para notificação de chegada da interface do dispositivo e remoção de dispositivo para obter mais informações. O sistema pode enviar uma notificação CM_NOTIFY_ACTION_DEVICEREMOVEPENDING sem enviar uma mensagem de CM_NOTIFY_ACTION_DEVICEQUERYREMOVE correspondente. Nesses casos, os aplicativos e drivers devem se recuperar da perda do dispositivo da melhor maneira possível.
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

O dispositivo foi removido. Se você ainda tiver um identificador aberto para o dispositivo, chame CloseHandle para fechar o identificador do dispositivo. Consulte Registrando para notificação de chegada da interface do dispositivo e remoção de dispositivo para obter mais informações. O sistema pode enviar uma notificação CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE sem enviar mensagens de CM_NOTIFY_ACTION_DEVICEQUERYREMOVE ou CM_NOTIFY_ACTION_DEVICEREMOVEPENDING correspondentes. Nesses casos, os aplicativos e drivers devem se recuperar da perda do dispositivo da melhor maneira possível.
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE. Essa ação é enviada quando ocorre um evento personalizado definido pelo driver.
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Essa ação é enviada quando uma nova instância de dispositivo que atende aos critérios de filtro é enumerada.
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Essa ação é enviada quando uma instância de dispositivo que atende aos critérios de filtro é iniciada.
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED
Para esse valor, defina o FilterType membro da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. Essa ação é enviada quando uma instância de dispositivo que atende aos critérios de filtro não está mais presente.
CM_NOTIFY_ACTION_MAX
Não use.

Observações

Quando um driver chama a função CM_Register_Notification, o parâmetro pCallback contém um ponteiro para uma rotina a ser chamada quando ocorre um evento PnP especificado. O parâmetro de Ação da rotina de retorno de chamada é um valor da enumeração CM_NOTIFY_ACTION.

Requisitos

Requisito Valor
cabeçalho cfgmgr32.h

Consulte também

CM_NOTIFY_FILTER

CM_Register_Notification