SetupDiRemoveDeviceInterface 函数 (setupapi.h)
SetupDiRemoveDeviceInterface 函数从系统中删除已注册的设备接口。
语法
WINSETUPAPI BOOL SetupDiRemoveDeviceInterface(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);
参数
[in] DeviceInfoSet
指向包含要删除 的设备接口的设备信息集 的指针。 此句柄通常由 SetupDiGetClassDevs 返回。
[in, out] DeviceInterfaceData
指向 SP_DEVICE_INTERFACE_DATA 结构的指针,该结构指定要删除 的 DeviceInfoSet 中的设备接口。 此指针通常由 SetupDiEnumDeviceInterfaces 返回。
删除接口后,此函数在 DeviceInterfaceData 中设置SPINT_REMOVED标志。标志。 它还会清除SPINT_ACTIVE标志,但请注意,在调用此函数之前,应该已经清除了此标志。
返回值
如果函数完成且未出错,SetupDiRemoveDeviceInterface 将返回 TRUE。 如果函数完成时出现错误,它将返回 FALSE ,并且可以通过调用 GetLastError 来检索失败的错误代码。
注解
此函数的调用方必须是管理员组的成员。
SetupDiRemoveDeviceInterface 从系统中删除指定的设备接口。 这包括删除关联的注册表项。
调用 SetupDiDeleteDeviceInterfaceData 从设备信息列表中删除接口。
必须禁用设备接口才能删除。 如果接口已启用,则此函数将失败, GetLastError 将返回ERROR_DEVICE_INTERFACE_ACTIVE。 通过使用提供的任何特定于接口的机制来禁用接口, (例如 IOCTL) 。 如果调用方无法禁用接口,并且必须删除接口,则调用方必须使用 SetupDiChangeState 停止基础设备。 停止设备会禁用设备公开的所有接口。
要求
最低受支持的客户端 | 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | setupapi.h (包括 Setupapi.h) |
Library | Setupapi.lib |
DLL | Setupapi.dll |