You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Windows 11 24H2(26100)INF验证的1304非相对键错误

解决Windows HLK INF验证错误1304与驱动自动加载失败问题

问题场景

在Windows 11 24H2(版本26100)环境下执行Windows HLK INF验证测试,使用Windows工具包中的InfVerif.exe运行命令:

infverif.exe /u "绝对INF文件路径"

原INF的AddReg指令条目如下:

HKLM, %SmartCardName%
HKLM, %SmartCardName%,"ValueName1",0x00000001,"ValueData1"
HKLM, %SmartCardName%,"ValueName2",0x00000001,"ValueData2"

验证时触发错误代码1304:发现使用非相对键的旧式AddReg操作。将非相对键HKLM改为相对键HKR后,INF验证通过,但驱动自动加载失败,对应注册表项未创建。

错误原因

  1. HLK的InfVerif工具强制要求现代INF避免在核心安装节(如[DDInstall])直接使用非相对根键(如HKLM),这类写法属于旧式INF规范,会触发1304错误。
  2. 直接替换为HKR后,HKR默认指向驱动服务的注册表路径(HKLM\SYSTEM\CurrentControlSet\Services\<服务名>),而非原%SmartCardName%指定的路径,导致注册表项写入位置错误,驱动加载时无法找到所需配置,最终加载失败。

解决方案

通过重构INF结构,使用根键特定的AddReg节同时满足HLK验证要求和驱动正常加载需求,具体步骤如下:

1. 确认字符串常量定义

确保%SmartCardName%已在[Strings]节中定义(替换为实际注册表路径):

[Strings]
SmartCardName="SOFTWARE\YourSmartCardDriver"

2. 重构AddReg指令到专用节

将原直接写在[DDInstall]节的HKLM条目,移到以[<DDInstall节名>.HKLM]命名的专用节中,并在核心安装节通过AddReg指令引用该节:

[SmartCard_Install] ; 替换为你实际的DDInstall节名
Include=mfplat.inf ; 根据驱动依赖调整
Needs=MFPLAT.Device
AddReg=SmartCard_HKLM_AddReg ; 引用HKLM专用AddReg节

[SmartCard_HKLM_AddReg]
HKLM, %SmartCardName%,,0x00000000 ; 创建目标注册表键
HKLM, %SmartCardName%,"ValueName1",0x00000001,"ValueData1"
HKLM, %SmartCardName%,"ValueName2",0x00000001,"ValueData2"

3. 完善驱动服务配置

添加服务注册节,确保系统能正确识别并加载驱动:

[SmartCard_Install.Services]
AddService=SmartCardSvc,0x00000002,SmartCardSvc_Inst ; 0x2表示服务与设备关联

[SmartCardSvc_Inst]
DisplayName="Smart Card Driver Service"
ServiceType=1 ; SERVICE_KERNEL_DRIVER
StartType=3 ; SERVICE_DEMAND_START(按需启动,可改为2设置自动启动)
ErrorControl=1 ; SERVICE_ERROR_NORMAL
ServiceBinary=%12%\YourDriver.sys ; %12%对应系统system32\drivers目录

验证步骤

  1. 重新运行infverif.exe /u "绝对INF文件路径",确认错误1304消失;
  2. 安装驱动后,检查HKLM\%SmartCardName%路径下是否存在目标注册表项;
  3. 启动驱动服务,确认驱动正常加载。

内容的提问来源于stack exchange,提问作者Hanish Gopi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:02:41