Int2Cat - DriverVer设置为不正确的日期

14

我正试图使用Visual Studio 2012开发一个驱动程序,它可以自动与WDK集成。

当我尝试构建我的驱动程序时,Inf2Cat应用程序会给出错误提示。它说:

错误:2> 22.9.7:在 \ntleg.inf 中 DriverVer 设置为不正确的日期(不允许后置日期DriverVer)。当前日期(UTC)是 1/3/2013。

在我的NTLeg.inf中,我有:

[Version]
Signature="$WINDOWS NT$"
Class=
ClassGuid=
Provider=
DriverVer=
CatalogFile=NTLeg.cat

所以,DriverVerProperty是空的。我尝试填充任何值,但Inf2Cat报告了相同的错误。我尝试使用当前、过去和未来日期来填充它,但结果相同。我该做什么?

我尝试了WDK提供的示例,所有示例都报告此错误。

3个回答

34
使用 StampInf 自动填充 DriverVer 时使用本地时间而不是 GMT,但 Inf2Cat 默认验证的是 GMT(UTC)。请参阅 StampInf 文档中 Microsoft 的注释和建议:http://msdn.microsoft.com/en-us/library/windows/hardware/ff552789(v=vs.85).aspx 最简单的解决方法是更改驱动程序包项目设置以将 Inf2Cat 的 /uselocaltime 设置为真。然后这个问题就消失了!

似乎/uselocaltime选项仅适用于WinDDK 8+(不适用于WinDDK 7)。 - pqvst
2
笑死,我花了一个小时修复错误才构建出一个Hello World驱动程序(KMDF)项目。https://learn.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/writing-a-very-small-kmdf--driver不是我的错,他们只是没有记录任何东西。没有人说你需要Windows SDK才能构建驱动程序项目。Inf2Cat /uselocaltime也是一样。 - KulaGGin
14
要设置/使用本地时间,请打开项目属性并转到此处: https://i.imgur.com/lLGeL1V.png - KulaGGin
2023年仍然存在问题。我猜消极的GMT人就是问题所在。 - Ryan Leach

2
解决了。只需要等到UTC时间和我的本地时间有相同的日期即可。

2
如何获取明天的日期?sleep(86400); 返回今天的日期(); - eugensk

0

你不能留空DriverVer。如此处所指定,从Windows 2000开始就是必需的。请注意,日期必须以mm/dd/yyyy格式指定,月份和日期需要两位数字,年份需要四位数字。最后,日期必须是包中任何文件的最新日期。我猜测这个要求可能是让你困惑的原因。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接