Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Запрос DIF_REMOVE уведомляет установщик о том, что Windows будет удалено устройство и предоставляет установщику возможность подготовиться к удалению.
При отправке
Когда пользователь удаляет устройство в диспетчер устройств.
Кто обрабатывает
Совместное установщик класса |
Может обрабатывать |
Совместное установщик устройства |
Может обрабатывать |
Установщик классов |
Может обрабатывать |
Входные данные установщика
DeviceInfoSet
Предоставляет дескриптор набору сведений об устройстве , который содержит устройство для удаления.
DeviceInfoData
Предоставляет указатель на структуру SP_DEVINFO_DATA для устройства в наборе сведений об устройстве.
Параметры установки устройства
Существуют параметры установки устройства (SP_DEVINSTALL_PARAMS), связанные с DeviceInfoData.
Параметры установки класса
Структура SP_REMOVEDEVICE_PARAMS может быть связана с DeviceInfoData.
Параметры установки класса для запроса отсутствуют, если флаг DI_CLASSINSTALLPARAMS очищается в SP_DEVINSTALL_PARAMS. В этом случае профиль оборудования не указан, и устройство должно быть удалено из системы в целом.
Выходные данные установщика
Возвращаемое значение установщика
Совместное установщик может возвращать NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED или код ошибки Win32.
Если установщик класса успешно обрабатывает этот запрос, и SetupDiCallClassInstaller впоследствии должен вызвать обработчик по умолчанию, установщик класса возвращает ERROR_DI_DO_DEFAULT.
Если установщик классов успешно обрабатывает этот запрос, включая прямой вызов обработчика по умолчанию, установщик класса должен вернуть NO_ERROR и SetupDiCallClassInstaller впоследствии не вызовет обработчик по умолчанию.
Примечание Установщик классов может напрямую вызывать обработчик по умолчанию, но установщик класса никогда не должен пытаться заменять операции обработчика по умолчанию.
Дополнительные сведения о вызове обработчика по умолчанию см. в разделе Вызов обработчиков кода DIF по умолчанию.
Если установщик класса сталкивается с ошибкой, установщик должен вернуть соответствующий код ошибки Win32, и SetupDiCallClassInstaller впоследствии не вызовет обработчик по умолчанию.
Обработчик кода DIF по умолчанию
Операция установщика
В ответ на запрос DIF_REMOVE установщик обычно выполняет некоторые операции очистки. В этом случае совместное установщик возвращает NO_ERROR, а установщик класса возвращает ERROR_DI_DO_DEFAULT.
Если установщик определяет, что устройство не должно быть удалено, установщик завершается сбоем запроса DIF, возвращая код ошибки Win32. Если флаг DI_QUIETINSTALL ясно, установщик должен отобразить сообщение пользователю, объясняющее, почему устройство не удаляется.
Соавторы не должны пытаться удалить устройство самостоятельно, вызвав SetupDiRemoveDevice. Совместно используемые установщики обычно обрабатывают этот запрос при последующей обработке после успешного удаления устройства.
Если для совместного установщика необходимо удалить сведения в реестре, например, для совместного установщика необходимо сделать это при последующей обработке и только в том случае, если предыдущие установщики успешно завершили запрос на удаление. При предварительной обработке в совместном установщике должны храниться сведения реестра в параметре контекста и возвращать ERROR_DI_POSTPROCESSING_REQUIRED для запроса после обработки. Когда Windows вызывает совместное установщик для последующей обработки этого запроса DIF, соавтор должен проверить, NO_ERROR состояние DIF, а затем удалить сведения реестра. Если со-установщик удаляет сведения о реестре в предварительной обработке, а установщик классов (или другой соустановщик) завершается ошибкой DIF_REMOVE, то соустановщик может оставить устройство в непредсказуемом состоянии.
Установщики не должны удалять файлы при обработке этого запроса DIF, если файлы используются другим устройством.
Windows отправляет этот запрос DIF, прежде чем он инициирует удаление и удаление обработки запросов PnP.
Дополнительные сведения о кодах DIF см. в разделе "Обработка кодов DIF".
Requirements
Version |
Поддерживается в Microsoft Windows 2000 и более поздних версиях Windows. |
Заголовок |
Setupapi.h (include Setupapi.h) |