Stampinf 命令选项

Stampinf 是一种命令行工具,用于更新常见的 INF 文件指令。

Stampinf -f filename 
[-s section] 
[-d [date | *]] 
[-a [architecture]] 
[-c catalogfile]
[-v [time | *]]
[-k version] 
[-u version]
[-i path]
[-n]

参数

-f 文件名
指定要处理的 INF 或 INX 文件。

-s
指定要在其中放置 INF DriverVer 指令的 INF 部分。 此指令所在的默认位置是 INF Version 部分

-d [ date\ | ]
指定在 INF DriverVer 指令中写入的日期。 日期的格式为 month/date/year
(例如 -d 10/20/20/2011)。

若要使用当前日期,请使用此参数指定星号 = 。

如果未指定 -d 参数或未指定任何选项,Stampinf 将使用下列日期值之一:

  • 如果已设置 STAMPINF_DATE 环境变量,则 Stampinf 将使用此环境变量指定的日期值。

  • 如果未指定 STAMPINF_DATE 环境变量,则 Stampinf 将使用当前日期。

-a [ 体系结构 ]
指定 architecture 字符串来替换 INX 文件中使用的 $ARCH$ 变量。 $ARCH$ 变量用于将 INF 制造商部分中的 TargetOSVersion 修饰及其各自的节名称自定义为特定平台。 有关 $ARCH$ 变量的详细信息,请参阅 使用 INX 文件创建 INF 文件

体系结构字符串的值x8664(适用于基于 Itanium 的平台)和 x64(对于 amd64 平台)。

如果未指定 -a 参数或未指定任何选项,Stampinf 将使用平台环境变量指定的值,该变量在生成环境窗口中设置。

-c catalogfile
指定在 INF Version 部分中的 CatalogFile 指令中写入的值。 默认情况下不写入 CatalogFile 指令。

-v [ 时间 | *]
指定在版本号的 INF DriverVer 指令中写入的时间。 时间格式为 hours.minutes.seconds.milliseconds(例如,11.30.20.15)。 此选项在开发过程中非常有用,因为通过它可以方便地提高驱动程序的版本号。

若要使用当前时间,请使用此参数指定星号 = 。

如果未指定 -v 参数或未指定任何选项,Stampinf 将使用以下版本号值之一:

  • 如果已设置 STAMPINF_VERSION 环境变量,则 Stampinf 将使用此环境变量指定的版本号值。

  • 如果未指定STAMPINF_VERSION环境变量,Stampinf 将从 Ntverp.h 文件中提取版本号。

-k 版本
指定 此驱动程序所依赖的 KMDF 版本 。 这用于自定义 INF 文件中的 KmdfLibraryVersion 和 KMDF 辅助安装程序的名称。 此选项取代了 INF 文件中的 $KMDFVERSION$ 和 $KMDFCOINSTALLERVERSION$ 关键字。 该字符串采用以下格式:

<major_version>.<minor_version>

例如,如果你将 1.5 指定为版本字符串,则两个关键字将分别使用值 1.5 和 01005。

-u 版本
指定此驱动程序依赖的 UMDF 的版本。 此选项用于指定 INF 文件中的 UmdfLibraryVersion 和 UMDF 辅助安装程序的名称。 指定的版本 将取代 INF 文件中的 $UMDFVERSION$ 和 $UMDFCOINSTALLERVERSION$ 关键字。 版本字符串具有以下格式:

<major_version>.<minor_version>.<service_version>

(其中,<service_version> 通常为零)。

例如,如果你将 1.5.0 指定为版本字符串,则最大和最小关键字将分别使用值 1.5.0 和 01005。

-n
显示详细的 Stampinf 输出。

-i 路径
指定 Ntverp.h 文件的位置。 路径表示包含 Ntverp.h 的目录的完全限定位置

评论

Stampinf 放入 INF DriverVer 指令中的日期值不基于协调世界时(UTC),也称为格林威治平均时间。 但是, Inf2Cat 将此 INF 指令的日期值解释为 UTC 值。 如果 Stampinf 使用的本地日期值被 Inf2Cat 解释为明天日期的 UTC 值,则可能会导致错误。 若要避免此问题,请执行以下操作 之一

  • 将STAMPINF_DATE环境变量设置为相应的 UTC 日期值。 现在,无需指定 -d 参数即可运行 Stampinf。 这指示 Stampinf 使用由STAMPINF_DATE环境变量指定的日期值。 现在 Stampinf 和 Inf2Cat 都使用 UTC。
  • 更改驱动程序包项目设置,以便 Inf2Cat 设置 /uselocaltime。 为此,请使用“配置属性”->“Inf2Cat”->“常规”->“使用本地时间”。 现在,Stampinf 和 Inf2Cat 都使用本地时间。

开发驱动程序时,可以设置环境变量PRIVATE_DRIVER_PACKAGE。 设置此变量后,Stampinf 会将 INF DriverVer 指令日期和时间(无论命令行设置如何)设置为当前日期和时间。 此外,Stampinf 设置 CatalogFile 指令。 Stampinf 在 INF 版本部分中写入 CatalogFile=delta.cat,除非已使用 -c 命令选项指定目录。

在生成窗口中键入以下命令以启用此开发模式:

set PRIVATE_DRIVER_PACKAGE=1