Раздел INF DDInstall
Каждый раздел DDInstall содержит необязательную директиву DriverVer и одну или несколько директив, ссылающуюся на дополнительные именованные разделы в INF-файле, как показано здесь с наиболее часто указанными директивами INF, CopyFiles и AddReg, перечисленными в первую очередь.
В разделах, на которые ссылаются эти директивы, содержатся инструкции по установке файлов драйверов и написанию всех сведений о конкретном устройстве и /или драйверах в реестре.
[install-section-name] |
[install-section-name.nt] |
[install-section-name.ntx86] |
[install-section-name.ntia64] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64] | (Windows XP and later versions of Windows)
[install-section-name.ntarm] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64] (Windows 10 version 1709 and later versions of Windows)
[DriverVer=mm/dd/yyyy[,x.y.v.z]]
[CopyFiles=@filename | file-list-section[,file-list-section] ...]
[CopyINF=filename1.inf[,filename2.inf]...] (Windows XP and later versions of Windows)
[AddReg=add-registry-section[,add-registry-section]...]
[AddProperty=add-property-section[,add-property-section]...] (Windows Vista and later versions of Windows)
[Include=filename1.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[Delfiles=file-list-section[,file-list-section]...]
[Renfiles=file-list-section[,file-list-section]...]
[DelReg=del-registry-section[,del-registry-section]...]
[DelProperty=del-property-section[,del-property-section]...] (Windows Vista and later versions of Windows)
[FeatureScore=featurescore]... (Windows Vista and later versions of Windows)
[BitReg=bit-registry-section[,bit-registry-section]...]
[LogConfig=log-config-section[,log-config-section]...]
[ProfileItems=profile-items-section[,profile-items-section]...] (Windows 2000 and later versions of Windows)
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
[RegisterDlls=register-dll-section[,register-dll-section]...]
[UnregisterDlls=unregister-dll-section[,unregister-dll-section]...]
[ExcludeID=device-identification-string[,device-identification-string]...]... ((Windows XP and later versions of Windows)
[Reboot]
Записи
Не все допустимые записи поддерживаются в универсальной inf. В следующих списках указаны допустимые директивы в универсальном INF и которые не являются.
Поддерживается в универсальном INF
DriverVer=mm/dd/гггг[,x.y.v.z]
Эта необязательная запись указывает сведения о версии пакета драйвера .
Сведения об указании этой записи см. в директиве INF DriverVer.
CopyFiles=@имя файла | раздел file-list-section[,file-list-section]
Эта директива указывает один именованный файл, скопированный из исходного носителя в место назначения, или ссылается на один или несколько разделов, определенных inf-writer, в которых файлы, относящиеся к устройству на исходном носителе, указываются для передачи в место назначения. Директива CopyFiles является необязательной, но присутствует в большинстве разделах DDInstall.
Запись DefaultDestDir в разделе DestinationDirs INF указывает назначение для любого отдельного файла, который необходимо скопировать. Разделы
Дополнительные сведения см. в директиве INF CopyFiles.
CopyINF=filename1.inf[,filename2.inf]...
(Windows XP и более поздние версии) Эта директива приводит к копированию указанных INF-файлов в целевую систему.
Дополнительные сведения см. в директиве INF CopyINF.
AddReg=раздел надстройки[,раздел add-registry-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, в которых новые подразделы, возможно, с начальными записями значений, записываются в реестр или в которых изменяются записи значений существующих ключей.
Спецификация HKR в таком разделе реестра надстроек указывает "ключ программного обеспечения" пути реестра установленного устройства.
Дополнительные сведения см. в директиве INF AddReg.
(Windows Vista и более поздние версии) Ссылается на один или несколько разделов INF-файла, которые изменяют свойства устройства , заданные для экземпляра устройства. Необходимо использовать директиву INF AddProperty только для задания свойства экземпляра устройства, которое является новым для Windows Vista или более поздних версий операционных систем Windows.
Для свойств экземпляра устройства, появившихся ранее в Windows Server 2003, Windows XP или Windows 2000, и имеющих соответствующие значения записи реестра, следует продолжать использовать директивы INF AddReg, чтобы задать свойства экземпляра устройства. Эти рекомендации применяются к системным свойствам и пользовательским свойствам. Дополнительные сведения об использовании директивы addProperty
Include=filename1.inf[,filename2.inf]...
Эта необязательная запись указывает один или несколько дополнительных системных INF-файлов, содержащих разделы, необходимые для установки этого устройства и /или драйвера. Если указана запись, обычно это запись Требуется.
Например, INF-файлы для драйверов устройств, которые зависят от поддержки потоковой передачи ядра системы, могут указать эту запись следующим образом:
Include= ks.inf, kscaptur.inf, ksfilter.inf
Needs=inf-section-name[,inf-section-name]...
Эта необязательная запись указывает разделы в системных INF-файлах, которые должны обрабатываться во время установки этого устройства. Как правило, такой именованный раздел — это раздел DDInstall (или DDInstall.xxx) в одном из ФАЙЛОВ INF, перечисленных в записи Include. Однако это может быть любой раздел, на который ссылается DDInstall или DDInstall.xxx раздела включенной INF.
Например, INF-файлы для драйверов устройств, имеющих предыдущую Включить запись, может указать следующую запись:
Needs= KS.Registration, KSCAPTUR.Registration.NT, MSPCLOCK.Installation
FeatureScore=featurecore
Предупреждение
Директива featureScore
(Windows Vista и более поздние версии) Эта директива предоставляет дополнительный критерий ранжирования для драйверов, основанных на функциях, поддерживаемых драйвером. Например, оценки функций могут быть определены для класса установки устройства , который различает драйверы на основе критериев для определенных классов.
Дополнительные сведения о ранжировании драйверов см. в
Дополнительные сведения об этой директиве см. в директиве INF FeatureScore.
Заметка
Хотя раздел DDInstall может содержать несколько записей FeatureScore, для раздела обрабатывается только первая запись.
Предупреждение
Директива ExcludeID обрабатывается только при указании непосредственно в разделе [DDInstall].
(Windows XP и более поздние версии) Эта директива задает одну или несколько строк идентификации устройств (аппаратные идентификаторы или совместимые идентификаторы). Раздел DDInstall не устанавливает устройства с идентификаторами устройств, которые соответствуют любому из указанных аппаратных идентификаторов или совместимых идентификаторов.
перезагрузка
Эта директива указывает, что вызывающий объект должен быть предложено перезагрузить систему после завершения установки.
Дополнительные сведения см. в директиве INF Reboot.
Не поддерживается в универсальном INF
Delfiles=раздела file-list-section [,file-list-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, которые перечисляются в целевом объекте для удаления.
Дополнительные сведения см. в директиве INF DelFiles.
Renfiles=file-list-section[,file-list-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, которые перечисляются в назначении, прежде чем исходные файлы, относящиеся к устройству, копируются на целевой компьютер.
Дополнительные сведения см. в директиве INF RenFiles.
DelReg=раздела del-registry-section[,del-registry-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, в которых указываются ключи и/или записи значений, которые будут удалены из реестра во время установки устройств.
Как правило, эта директива используется для обработки обновлений, когда INF-файл должен очистить старые записи реестра из предыдущей установки этого устройства.
Спецификация HKR в таком разделе удаления реестра указывает "ключ программного обеспечения" пути реестра установленного устройства.
Дополнительные сведения см. в директиве INF DelReg.
DelProperty=del-property-section[,del-property-section]...
(Windows Vista и более поздние версии) Ссылается на один или несколько разделов INF-файла, которые удаляют свойства устройства , заданные для экземпляра устройства. Необходимо использовать директиву INF DelProperty
Для свойств экземпляра устройства, появившихся ранее в Windows Server 2003, Windows XP или Windows 2000, и имеющих соответствующие значения записи реестра, следует продолжать использовать директивы INF DelReg , для удаления свойств экземпляра устройства. Эти рекомендации применяются к системным свойствам и пользовательским свойствам. Дополнительные сведения об использовании директивы DelProperty см. в использовании директивы INF AddProperty и директивы INF DelProperty.
BitReg=bit-registry-section[,bit-registry-section]...
Эта директива ссылается на один или несколько разделов, определенных inf-writer, в которых изменяются существующие записи значений реестра типа REG_BINARY.
Спецификация HKR в таком битовом разделе обозначает "ключ программного обеспечения" пути реестра установленного устройства.
Дополнительные сведения см. в директиве INF BitReg.
LogConfig=log-config-section [,log-config-section]...
Эта директива ссылается на один или несколько разделов, определенных в inf-записи, для устройства с корневым перечислением или для установленного вручную устройства. В этих именованных разделах INF для такого "обнаруженного" или вручную установленного устройства указывает одну или несколько логических конфигураций ресурсов оборудования относительно шины, которые устройство должно работать. Inf для такого устройства, установленного вручную, которое не настраивается программным обеспечением, также должно иметь DDInstall. Раздел FactDef.
Директива logConfig
Эта директива не относится ко всем драйверам и компонентам более высокого уровня (nondevice).
Дополнительные сведения см. в директиве INF LogConfig.
ProfileItems=profile-items-section[,profile-items-section]...
(Microsoft Windows 2000 и более поздних версий Windows) Эта редко используемая директива ссылается на один или несколько разделов, определенных inf-writer, которые описывают элементы, которые нужно добавить или удалить из меню "Пуск".
Дополнительные сведения см. в директиве INF ProfileItems.
UpdateInis=update-ini-section[,update-ini-section]...
Эта редко используемая директива ссылается на один или несколько разделов INF-writer, указав исходный INI-файл, из которого определенный раздел или строка в таком разделе должны быть считываются в целевой INI-файл того же имени во время установки. При необходимости в разделе update-ini можно указать изменения существующего INI-файла в месте назначения из заданного исходного INI-файла с тем же именем.
Дополнительные сведения см. в директиве INF UpdateInis.
UpdateIniFields=update-inifields-section[,update-inifields-section]...
Эта редко используемая директива ссылается на один или несколько разделов, определенных inf-writer, в которых указываются изменения в строках файла INI для конкретного устройства.
Дополнительные сведения см. вдирективы INF UpdateIniFields
Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
Эта редко используемая директива ссылается на один или несколько разделов, определенных inf-writer, в которых разделы или строки из файла INI для конкретного устройства, предоставленного на исходном носителе, должны быть перемещены в реестр.
Дополнительные сведения см. в директиве INF Ini2Reg.
RegisterDlls=register-dll-section[,register-dll-section]...
Эта директива ссылается на один или несколько разделов INF, используемых для указания файлов, которые являются элементами управления OLE и требуют самостоятельной регистрации.
Дополнительные сведения см. в директиве INF RegisterDlls.
UnregisterDlls=unregister-dll-section[,unregister-dll-section]...
Эта директива ссылается на один или несколько разделов INF, используемых для указания файлов, которые являются элементами управления OLE и требуют саморегистрации (самостоятельное удаление).
Дополнительные сведения см. в директиве INF UnregisterDlls.
Замечания
В документации по комплекту драйверов Windows (WDK) термин DDInstall используется для ссылки на имя раздела установки, с расширениями платформы или без нее. Таким образом, "DDInstall section" означает "именованный раздел в INF, имеющий формат [имя install-section-name] или [install-section-name.ntxxx]". При создании имен для разделов DDInstall необходимо включить префикс для конкретного устройства, например [WDMPNPB003_Device] или [GPR400). Install.NT].
Каждый раздел DDInstall должен быть указан в записи, связанной с устройствами или моделями, в разделе inf INF Models INF-файла.
За исключением устройств, которые не имеют связанных файлов, передаваемых из исходного носителя, INF-файл, устанавливающий драйвер WDM на разных платформах операционной системы, должен иметь по крайней мере один из следующих разделов DDInstall:
- Раздел install-section-name.ntx86, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе x86.
- Раздел install-section-name.ntia64, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе Itanium.
- Раздел install-section-name.ntamd64, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе x64.
- Раздел install-section-name.ntarm, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе Arm.
- Раздел install-section-name.ntarm64, указывающий записи для установок устройств и драйверов, относящихся к платформам на основе Arm64.
- Раздел install-section-name или install-section-name.nt, указывающий записи для установок устройств и драйверов, которые не относятся к определенной аппаратной платформе.
Дополнительные сведения об использовании системного .nt, .ntx86, .ntia64, .ntamd64, .ntarmи расширения .ntarm64, см. создание INF-файлов для нескольких платформ и операционных систем.
Начиная с Windows 2000, INF-файл, который устанавливает драйверы, должен иметь разделы DDInstall.Services, чтобы указать сведения о службе драйверов.
Каждая директива в разделе DDInstall может ссылаться на несколько имен раздела. Однако каждый дополнительный именованный раздел должен быть отделен от следующего с запятой (,).
Каждое имя раздела должно быть уникальным в INF-файле и должно соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для INF-файлов.
Предполагается, что любая директива AddReg, указанная в разделе DDInstall, ссылается на раздел реестра надстроек, который не может использоваться для хранения сведений о драйверах верхнего или нижнего фильтра, о мультифункционных устройствах или о параметрах, зависящих от драйвера, но для конкретного устройства. Если INF-файл устройства или драйвера должен хранить эти сведения в реестре, он должен использовать директиву AddReg
В зависимости от класса установки устройства , указанного в разделе INF Version, в разделе DDInstall можно указать дополнительные директивы для конкретного класса. Дополнительные сведения о директивах для определенных классов см. в следующих разделах:
- создание INF-файла для устройства Windows SideShow-Compatible
- раздел DDInstall в файле INF сети
- INF-файлы для устройств с изображением по-прежнему
- INF-файлы для устройств WIA
- Требования к установке для сетевых компонентов
- указание директив WDF в INF-файлах
Примеры
В этом примере показано расширение разделов DDInstall, Ser_Inst и Inp_Inst. Эти разделы ссылаются в примере INF Models.
[Ser_Inst]
CopyFiles=Ser_CopyFiles, mouclass_CopyFiles
[Ser_CopyFiles]
sermouse.sys
[mouclass_CopyFiles] ; section name referenced by > 1 CopyFiles
mouclass.sys
[Inp_Inst]
CopyFiles=Inp_CopyFiles, mouclass_CopyFiles
[Inp_CopyFiles]
inport.sys
В следующем примере показан раздел DDInstall INF-файла, который устанавливает системный драйвер WDM для звукового устройства на различных платформах операционной системы:
[WDMPNPB003_Device.NT]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration.NT
CopyFiles=MSSB16.CopyList
AddReg=WDM_SB16.AddReg
В следующем примере показаны разделы, на которые ссылается предыдущая запись
[KS.Registration]
; following AddReg= is actually a single line in the ks.inf file
AddReg=ProxyRegistration,CategoryRegistration,\
TopologyNodeRegistration,PlugInRegistration,PinNameRegistration,\
DeviceRegistration
CopyFiles=KSProxy.Files,KSDriver.Files
[WDMAUDIO.Registration.NT]
AddReg=WDM.AddReg
CopyFiles=WDM.CopyFiles.Sys, WDM.CopyFiles.Drv
;
; INF-writer-defined add-registry and file-list sections
; referenced by preceding directives are omitted here for brevity
;