SetupDiRemoveDeviceInterface 函式 (setupapi.h)
SetupDiRemoveDeviceInterface函式會從系統移除已註冊的裝置介面。
語法
WINSETUPAPI BOOL SetupDiRemoveDeviceInterface(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);
參數
[in] DeviceInfoSet
包含要移除之裝置介面之 裝置資訊集 的指標。 此控制碼通常是 由 SetupDiGetClassDevs傳回。
[in, out] DeviceInterfaceData
指定DeviceInfoSet中要移除之裝置介面之SP_DEVICE_INTERFACE_DATA結構的指標。 此指標通常是 由 SetupDiEnumDeviceInterfaces傳回。
移除介面之後,此函式會在DeviceInterfaceData中設定SPINT_REMOVED旗標。旗標。 它也會清除SPINT_ACTIVE旗標,但請注意,呼叫此函式之前應該已經清除此旗標。
傳回值
如果函式未發生錯誤,SetupDiRemoveDeviceInterface會傳回TRUE。 如果函式已完成錯誤,它會傳回 FALSE ,而且呼叫 GetLastError即可擷取失敗的錯誤碼。
備註
此函式的呼叫端必須是 Administrators 群組的成員。
SetupDiRemoveDeviceInterface 會從系統移除指定的裝置介面。 這包括刪除相關聯的登錄機碼。
呼叫 SetupDiDeleteDeviceInterfaceData ,從裝置資訊清單中刪除介面。
必須停用裝置介面才能移除。 如果啟用介面,此函式會失敗,而且 GetLastError 會傳回ERROR_DEVICE_INTERFACE_ACTIVE。 例如,IOCTL) (提供的任何介面特定機制來停用介面。 如果呼叫端無法停用介面,而且必須移除介面,則呼叫端必須使用 SetupDiChangeState停止基礎裝置。 停止裝置會停用裝置公開的所有介面。
需求
最低支援的用戶端 | 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。 |
目標平台 | 桌上型 |
標頭 | setupapi.h (包括 Setupapi.h) |
程式庫 | Setupapi.lib |
Dll | Setupapi.dll |