INF DestinationDirs 部分

DestinationDirs 节指定对 INF 文件中其他位置按名称引用的文件执行的所有复制、删除和/或重命名操作的目标目录。

[DestinationDirs]

[DefaultDestDir=dirid[,subdir]] 
[file-list-section=dirid[,subdir]]... 

DefaultDestDir=dirid[,subdir]
指定对文件执行的所有复制、删除和/或重命名操作的默认目标目录,这些操作未显式列在此处由其他条目引用的文件 列表节 中。 若要确保文件操作始终发生在正确的目录中,包含 IncludeNeeds 条目的 INF 文件不应指定默认目标目录。 有关更多信息,请参见下面的“备注”部分。

file-list-section=dirid[,subdir]] ...
指定 INF 文件中其他位置的 CopyFilesRenFilesDelFiles 指令引用的节的 INF 编写器确定的名称。 如果此部分具有 DefaultDestDir 条目,并且此 INF 中指定的所有复制文件操作具有相同的目标目标,则此类条目是可选的。 但是,INF 中其他位置的 RenFilesDelFiles 指令引用的任何 file-list-section 都必须在此处列出。

dirid
为按名称引用的文件(可能位于 INF 的命名 file-list-section 内)的操作指定目标目录的目录标识符。 有关常用 dirids 的列表,请参阅 Using Dirids。 在Windows 10版本 1709 及更高版本的 Windows 上,建议使用 DIRID 13。 有关详细信息 ,请参阅从驱动程序存储运行

subdir
指定 由 dirid 标识的目录下的子目录 (及其路径的其余部分(如果有),) 指定为给定 file-list-section 中文件操作的目标。

注解

在使用 INF CopyFiles 指令或引用 file-list-section 的任何 INF 文件中,无论是使用 CopyFilesDelFiles 还是 RenFiles 指令,都需要 DestinationDirs 节。

如果 Abc.inf 包含来自另一个 INF 文件 Def.inf 的部分,并且这两个 INF 文件都包含用于 copy-file、rename-file 或 delete-file 操作的 DefaultDestDir 条目,则 Windows 将忽略 Def.inf 中指定的默认目标目录,并在 Abc.inf 中指定的默认目标目录中执行所有相应的文件操作。

为了确保文件操作始终发生在正确的目录中,包含 IncludeNeeds 条目的 INF 文件不应在 DestinationDirs 节中包含 DefaultDestDir 条目。 相反,此类 INF 文件应显式引用 DestinationDirs 节中 CopyFilesRenFilesDelFiles 指令指定的所有文件列表节名称。

如果 INF 文件不包含 IncludeNeeds 条目,INF 可以使用 DefaultDestDir 条目指定 INF 文件中其他位置出现的复制、重命名和删除文件操作的默认目标:

  • 使用直接复制 (@filename) 表示法的 CopyFiles 指令必须在 INF 的 DestinationDirs 节中有一个 DefaultDestDir 条目,其中显示了直接复制条目。
  • 未在 DestinationDirs 节中直接引用的 CopyFilesRenFilesDelFiles 节必须在 INF 的 DestinationDirs 节中具有 DefaultDestDir 条目,其中显示复制、重命名和删除文件部分。

示例

本示例为所有 copy-file、delete-file 和 rename-file 操作设置默认目标目录。 对于新外围设备的 INF 文件,这种简单的 DestinationDirs 节很常见,因为此类 INF 通常只是将一组源文件复制到目标计算机上的单个目录中。

[DestinationDirs]
DefaultDestDir = 13

此示例显示了显示/视频驱动程序的 INF 的 DestinationDirs 部分的片段。

[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

另请参阅

CopyFiles

DDInstall

DelFiles

RenFiles

SourceDisksFiles

SourceDisksNames

使用 Dirids