CM_NOTIFY_ACTION 열거형(cfgmgr32.h)
이 열거형은 플러그 앤 플레이 디바이스 이벤트 유형을 식별합니다.
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;
상수
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_DEVICEQUERYREMOVE 메시지를 보내지 않고 CM_NOTIFY_ACTION_DEVICEREMOVEPENDING 알림을 보낼 수 있습니다. 이러한 경우 애플리케이션과 드라이버는 가능한 한 디바이스 손실로부터 복구해야 합니다. |
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE 이 값에 대해 CM_NOTIFY_FILTER 구조체의 FilterType 멤버를 설정합니다. CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE. 디바이스가 제거되었습니다. 디바이스에 대한 열린 핸들이 여전히 있는 경우 CloseHandle 을 호출하여 디바이스 핸들을 닫습니다. 자세한 내용은 디바이스 인터페이스 도착 및 디바이스 제거 알림 등록 을 참조하세요. 시스템은 해당 CM_NOTIFY_ACTION_DEVICEQUERYREMOVE 또는 CM_NOTIFY_ACTION_DEVICEREMOVEPENDING 메시지를 보내지 않고 CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE 알림을 보낼 수 있습니다. 이러한 경우 애플리케이션과 드라이버는 가능한 한 디바이스 손실로부터 복구해야 합니다. |
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. 이 작업은 필터 조건을 충족하는 새 디바이스 instance 열거되면 전송됩니다. |
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED 이 값에 대해 CM_NOTIFY_FILTER 구조체의 FilterType 멤버를 설정합니다. CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. 이 작업은 필터 조건을 충족하는 디바이스 instance 시작될 때 전송됩니다. |
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED 이 값에 대해 CM_NOTIFY_FILTER 구조체의 FilterType 멤버를 설정합니다. CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE. 이 작업은 필터 조건을 충족하는 디바이스 instance 더 이상 존재하지 않을 때 전송됩니다. |
CM_NOTIFY_ACTION_MAX 사용하지 마십시오. |
설명
드라이버가 CM_Register_Notification 함수를 호출할 때 pCallback 매개 변수는 지정된 PnP 이벤트가 발생할 때 호출할 루틴에 대한 포인터를 포함합니다. 콜백 루틴의 Action 매개 변수는 CM_NOTIFY_ACTION 열거형의 값입니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | cfgmgr32.h |