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


DIF_INSTALLDEVICEFILES

Запрос DIF_INSTALLDEVICEFILES позволяет установщику участвовать в копировании файлов для поддержки устройства или создания списка файлов для устройства. Файлы устройств включают файлы для выбранного драйвера, все интерфейсы устройств и любые со-установщики.

При отправке

Компоненты установки устройства, предоставляемые системой, отправляют этот запрос DIF по различным причинам. Некоторые компоненты установки устройств отправляют этот запрос DIF перед DIF_REGISTER_COINSTALLERS, DIF_INSTALLINTERFACES и DIF_INSTALL_DEVICE, чтобы убедиться, что все соответствующие файлы можно скопировать, прежде чем продолжить установку. Некоторые компоненты установки устройств пропускают этот запрос DIF и ожидают, что файлы будут скопированы во время обработки этих трех запросов DIF. Кроме того, некоторые компоненты установки устройства отправляют этот запрос DIF для получения списка файлов, связанных с устройством.

Кто обрабатывает

Со-установщик класса

Может обрабатывать

Совместный установщик устройств

Не обрабатывает

Установщик классов

Может обрабатывать

Входные данные установщика

DeviceInfoSet
Предоставляет дескриптор набору сведений об устройстве , который содержит устройство, вспомогательные файлы которого должны быть скопированы.

DeviceInfoData
Предоставляет указатель на структуру SP_DEVINFO_DATA , которая идентифицирует устройство в наборе сведений об устройстве.

Параметры установки устройства
Существуют параметры установки устройства (SP_DEVINSTALL_PARAMS), связанные с DeviceInfoData.

Если установлен флаг DI_NOVCP, параметры установки устройства содержат допустимый дескриптор FileQueue , а установщики, обрабатывающие этот запрос DIF, добавляют свои операции с файлами в эту очередь и не фиксируют очередь.

Параметры установки класса
Нет

Выходные данные установщика

Параметры установки устройства
Установщик может изменить FileQueue, если он есть.

Возвращаемое значение установщика

Совместный установщик может возвращать NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED или код ошибки Win32.

Если установщик класса успешно обрабатывает этот запрос и SetupDiCallClassInstaller должен впоследствии вызвать обработчик по умолчанию, установщик класса возвращает ERROR_DI_DO_DEFAULT.

Если установщик класса успешно обрабатывает этот запрос, включая прямой вызов обработчика по умолчанию, установщик класса должен вернуть NO_ERROR и SetupDiCallClassInstaller впоследствии не будет вызывать обработчик по умолчанию снова.

Примечание Установщик класса может напрямую вызывать обработчик по умолчанию, но установщик класса никогда не должен пытаться заменять операции обработчика по умолчанию.

Дополнительные сведения о вызове обработчика по умолчанию см. в разделе Вызов обработчиков кода DIF по умолчанию.

Если установщик класса обнаруживает ошибку, установщик должен вернуть соответствующий код ошибки Win32, и SetupDiCallClassInstaller впоследствии не будет вызывать обработчик по умолчанию.

Обработчик кода DIF по умолчанию

SetupDiInstallDriverFiles

Операция установщика

В ответ на запрос DIF_INSTALLDEVICEFILES установщик указывает все необходимые операции с файлами. Например, установщик может указать дополнительный файл для копирования, необходимый для установки устройства. Если установлен флаг DI_NOVCP, установщик указывает операции с файлами, добавляя их в FileQueue в параметрах установки устройства. Сведения об использовании очередей файлов и справочные страницы о функциях очереди файлов, таких как SetupInstallFilesFromInfSection, см. в Microsoft Windows SDK.

Если этот запрос DIF отправляется во время установки устройства, а установщик возвращает код ошибки Microsoft Win32, Windows останавливает установку.

Если компонент установки устройства, предоставляемый системой , отправляет этот запрос DIF для получения списка файлов, связанных с устройством, компонент получает очередь файлов, но не фиксирует очередь.

Дополнительные сведения о кодах DIF см. в разделе Обработка кодов DIF.

Требования

Версия

Поддерживается в Microsoft Windows 2000 и более поздних версиях Windows.

Заголовок

Setupapi.h (включая Setupapi.h)

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

SetupDiInstallDriverFiles

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS