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_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_DEVICEQUERYREMOVE 或 CM_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 列舉的值。
規格需求
需求 | 值 |
---|---|
標頭 | cfgmgr32.h |