Раздел INF DestinationDirs
В разделе DestinationDirs указывается целевой каталог или каталоги назначения для всех операций копирования, удаления и(или) переименования файлов, на которые ссылается имя в другом месте INF-файла.
[DestinationDirs]
[DefaultDestDir=dirid[,subdir]]
[file-list-section=dirid[,subdir]]...
Записи
DefaultDestDir=dirid[,subdir]
Указывает каталог назначения по умолчанию для всех операций копирования, удаления и (или) переименования для файлов, которые явно не перечислены в разделе списка файлов , на который ссылаются другие записи. Чтобы операции с файлами всегда происходили в правильном каталоге, INF-файл, содержащий записи Include и Needs , не должен указывать целевой каталог по умолчанию. Дополнительные сведения см. в разделе "Примечания".
file-list-section=dirid[,subdir]] ...
Указывает определяемое INF-записью имя раздела, на которое ссылается директива CopyFiles, RenFiles или DelFiles в другом месте INF-файла. Такая запись является необязательной, если в этом разделе есть запись DefaultDestDir и все операции копирования файлов, указанные в этом INF, имеют одинаковое целевое назначение. Однако любой раздел списка файлов , на который ссылается директива RenFiles или DelFiles в других местах INF, должен быть указан здесь.
dirid
Указывает идентификатор каталога целевого каталога для операций с файлами, на которые ссылается имя, возможно, в именованном разделе списка файлов INF. Списки часто используемых dirids см. в разделе Использование dirids. В Windows 10 версии 1709 и более поздних версиях Windows рекомендуется использовать DIRID 13. Дополнительные сведения см. в статье Запуск из хранилища драйверов .
вложенный каталог
Указывает подкаталог (и остальную часть его пути, если таковой есть, в каталоге, определяемом параметром dirid), который будет местом назначения операций с файлами в заданном разделе списка файлов.
Комментарии
Раздел DestinationDirs является обязательным в любом INF-файле, который использует директиву INF CopyFiles или ссылается на раздел списка файлов, будь то с директивой CopyFiles, DelFiles или RenFiles .
Если Abc.inf включает разделы из другого INF-файла, Def.inf, а оба INF-файла содержат запись DefaultDestDir для операций копирования файла, переименования файла или удаления файла, Windows игнорирует целевой каталог по умолчанию, указанный в Def.inf, и выполняет все соответствующие операции с файлами в целевом каталоге по умолчанию, указанном в Abc.inf.
Чтобы операции с файлами всегда происходили в правильных каталогах, INF-файл, включающий записи Include и Needs , не должен включать запись DefaultDestDir в разделе DestinationDirs . Вместо этого такой INF-файл должен явно ссылаться на все имена разделов списка файлов , указанные директивами CopyFiles, RenFiles и DelFiles в разделе DestinationDirs .
Если INF-файл не содержит записи Include и Needs , inf может использовать запись DefaultDestDir , чтобы указать назначение по умолчанию для операций копирования, переименования и удаления файлов, которые отображаются в другом месте INF-файла:
- Директивы CopyFiles , использующие нотацию прямого копирования (@filename), должны иметь запись DefaultDestDir в разделе DestinationDirs inf, в котором отображается запись прямого копирования.
- Разделы CopyFiles, RenFiles или DelFiles, на которые нет прямой ссылки в разделе DestinationDirs, должны иметь запись DefaultDestDir в разделе DestinationDirs INF, в которой отображаются разделы копирования, переименования и удаления файлов.
Примеры
В этом примере задается целевой каталог по умолчанию для всех операций copy-file, delete-file и rename-file. Такой простой раздел DestinationDirs является общим для INF-файлов для новых периферийных устройств, так как такой INF обычно просто копирует набор исходных файлов в один каталог на целевом компьютере.
[DestinationDirs]
DefaultDestDir = 13
В этом примере показан фрагмент раздела DestinationDirs inf для видеодрайдера или видеодрайдера.
[DestinationDirs]
DefaultDestDir = 13
; ...
; list of per-Manufacturer, per-Models, per-DDInstall-section, and
; CopyFiles-referenced xxx.Miniport/xxx.Display sections omitted here
; along with several other miniport/display paired drivers
; ...
vga.Miniport = 13
vga.Display = 13
xga.Miniport = 13
xga.Display = 13