SetupDiRemoveDevice 函式 (setupapi.h)
SetupDiRemoveDevice 函式是安裝要求DIF_REMOVE的默認處理程式。
語法
WINSETUPAPI BOOL SetupDiRemoveDevice(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData
);
參數
[in] DeviceInfoSet
本機系統的 裝置資訊集 句柄,其中包含代表要移除之裝置的裝置信息元素。
[in, out] DeviceInfoData
SP_DEVINFO_DATA 結構的指標,指定 DeviceInfoSet 中的裝置信息專案。 這是 IN-OUT 參數,因為 DeviceInfoSet。DevInst 可能會在傳回時使用新的句柄值來更新。 如果這是全域移除或最後一個硬體配置檔特定的移除,則會從登錄中刪除裝置實例的所有追蹤,而且句柄會是 NULL。
傳回值
如果函式成功,函式會傳回 TRUE 。 否則,它會傳回 FALSE ,而且可以透過 呼叫 GetLastError 來擷取記錄的錯誤。
備註
SetupDiRemoveDevice 會從系統移除裝置。 它會刪除裝置的硬體和軟體登錄機碼,以及任何硬體配置檔特定的登錄機碼, (組態特定的登錄機碼) 。 如果 裝置的 DevInst 處於作用中狀態,且這是全域移除或最後一個設定特定的移除,此函式就會動態停止裝置。 如果無法動態停止裝置,則會在裝置資訊集的 [安裝參數] 區塊中設定旗標,最後提示使用者重新啟動計算機。
裝置移除是所有硬體配置檔的全域,或是由提供DIF_REMOVE要求類別安裝參數之SP_REMOVEDEVICE_PARAMS結構之 Scope 成員所指定的一個硬體配置檔所指定。 組態特定的移除僅適用於根列舉裝置,而且應該只由系統程序代碼要求。
SetupDiRemoveDevice 的呼叫端必須是 Administrators 群組的成員。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。 |
目標平台 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
程式庫 | Setupapi.lib |
Dll | Setupapi.dll |