Раздел 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-writer имя раздела, на который ссылается директива CopyFiles, RenFiles или DelFiles , в другом месте INF-файла. Такая запись является необязательной, если в этом разделе есть запись DefaultDestDir , а все операции копирования и файлы, указанные в этой INF, имеют одно и то же целевое назначение. Однако любой раздел file-list, на который ссылается директива RenFiles или DelFiles , в другом месте INF, должен быть указан здесь.
dirid
Указывает идентификатор каталога целевого каталога для операций с файлами, на которые ссылается имя, возможно, в именованном разделе списка файлов INF. Списки часто используемых диридов см. в разделе "Использование dirids". В Windows 10 версии 1709 и более поздних версиях windows рекомендуется использовать DIRID 13. Дополнительные сведения см. в разделе "Запуск из Хранилища драйверов ".
subdir
Указывает подкаталог (и остальную часть пути, если таковой имеется, в каталоге, определяемом диридом) в качестве назначения операций с файлами в данном разделе file-list-section.
Комментарии
Раздел DestinationDirs требуется в любом INF-файле, который использует директиву INF CopyFiles или ссылается на раздел file-list-section, будь то с директивой 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, в котором отображаются разделы копирования, переименования и удаления файлов.
Примеры
В этом примере задается целевой каталог по умолчанию для всех операций копирования, delete-file и rename-file. Такой простой раздел DestinationDirs обычно используется для INF-файлов для новых периферийных устройств, так как такой INF обычно просто копирует набор исходных файлов в один каталог на целевом компьютере.
[DestinationDirs]
DefaultDestDir = 12 ; dirid = %windir%\system32\Drivers on WinNT platforms
В этом примере показан фрагмент раздела DestinationDirs INF для драйверов отображения и видео.
[DestinationDirs]
DefaultDestDir = 11 ; dirid = \system32 on WinNT platforms
; ...
; 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 = 12
vga.Display = 11
xga.Miniport = 12
xga.Display = 11
; all video miniports copied into \system32\drivers on WinNT platforms
; all paired display drivers copied into \system32