enumeração CM_NOTIFY_ACTION (cfgmgr32.h)

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

Essa ação indica que uma interface de dispositivo que atende aos critérios de filtro foi desabilitada.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE
Para esse valor, defina o membro FilterType 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 abertos no dispositivo. Se você não fizer isso, o identificador aberto impedirá que a remoção de consulta deste dispositivo seja bem-sucedida. Consulte Registrando-se 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 aconteça fechando os identificadores abertos no dispositivo.
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED
Para esse valor, defina o membro FilterType da estrutura CM_NOTIFY_FILTER
para CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE.

Essa ação indica que a remoção de consulta de um dispositivo falhou. Se você fechou o identificador para este 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-se 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 membro FilterType 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-se 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 membro FilterType 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-se 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 de 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 membro FilterType 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 membro FilterType 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 membro FilterType 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 membro FilterType 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.

Comentários

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 Action da rotina de retorno de chamada é um valor da enumeração CM_NOTIFY_ACTION .

Requisitos

Requisito Valor
Cabeçalho cfgmgr32.h

Confira também

CM_NOTIFY_FILTER

CM_Register_Notification