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 |