Поделиться через


Функция 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 активен и это глобальное удаление или последнее удаление для конкретной конфигурации. Если динамическая остановка устройства невозможна, в блоке Установить параметр набора сведений об устройстве устанавливаются флаги, которые в конечном итоге вызывают запрос на перезагрузку компьютера.

Удаление устройства является глобальным для всех профилей оборудования или только для одного профиля оборудования, как указано в элементе Scopeструктуры SP_REMOVEDEVICE_PARAMS , которая предоставляет параметры установки класса для запроса DIF_REMOVE. Удаление из конкретной конфигурации подходит только для устройств с корневым перечислением и должно запрашиваться только системным кодом.

Вызывающий объект SetupDiRemoveDevice должен быть членом группы Администраторы.

Примечание Только установщик класса должен вызывать SetupDiRemoveDevice и только в тех ситуациях, когда установщик класса должен выполнять операции удаления устройства после завершения установки SetupDiRemoveDevice операции удаления устройства по умолчанию. В таких ситуациях установщик класса должен напрямую вызывать SetupDiRemoveDevice , когда установщик обрабатывает запрос DIF_REMOVE. Дополнительные сведения о вызове обработчика по умолчанию см. в разделе Вызов обработчиков кода DIF по умолчанию.
 

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows 2000 и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть setupapi.h (включая Setupapi.h)
Библиотека Setupapi.lib
DLL Setupapi.dll

См. также раздел

SP_DEVINFO_DATA

SP_REMOVEDEVICE_PARAMS