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 參數,因為 DeviceInfoSetDevInst 可能會在傳回時使用新的句柄值來更新。 如果這是全域移除或最後一個硬體配置檔特定的移除,則會從登錄中刪除裝置實例的所有追蹤,而且句柄會是 NULL

傳回值

如果函式成功,函式會傳回 TRUE 。 否則,它會傳回 FALSE ,而且可以透過 呼叫 GetLastError 來擷取記錄的錯誤。

備註

SetupDiRemoveDevice 會從系統移除裝置。 它會刪除裝置的硬體和軟體登錄機碼,以及任何硬體配置檔特定的登錄機碼, (組態特定的登錄機碼) 。 如果 裝置的 DevInst 處於作用中狀態,且這是全域移除或最後一個設定特定的移除,此函式就會動態停止裝置。 如果無法動態停止裝置,則會在裝置資訊集的 [安裝參數] 區塊中設定旗標,最後提示使用者重新啟動計算機。

裝置移除是所有硬體配置檔的全域,或是由提供DIF_REMOVE要求類別安裝參數之SP_REMOVEDEVICE_PARAMS結構之 Scope 成員所指定的一個硬體配置檔所指定。 組態特定的移除僅適用於根列舉裝置,而且應該只由系統程序代碼要求。

SetupDiRemoveDevice 的呼叫端必須是 Administrators 群組的成員。

注意 只有 類別安裝程式 應該呼叫 SetupDiRemoveDevice ,而且只有在類別安裝程式必須在 SetupDiRemoveDevice 完成預設裝置移除作業之後執行裝置移除作業的情況。 在這種情況下,當安裝程式處理DIF_REMOVE要求時,類別安裝程序必須直接呼叫 SetupDiRemoveDevice 。 如需呼叫預設處理程式的詳細資訊,請參閱呼叫預設 DIF 程式代碼處理程式式。
 

規格需求

需求
最低支援的用戶端 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。
目標平台 桌面
標頭 setupapi.h (包括 Setupapi.h)
程式庫 Setupapi.lib
Dll Setupapi.dll

另請參閱

SP_DEVINFO_DATA

SP_REMOVEDEVICE_PARAMS