"A mismatch between the PNP/INF version and the KMD file version on the graphics adapter has been d



我一直在测试UMDF IddCx视频驱动程序,这个消息刚刚开始出现(在devcon.exe安装之后…(,同时在WinDbg:中出现了一个断点

(DriverEntry and EVT_WDF_DRIVER_DEVICE_ADD handlers succeed as they did prior to this error message)
.
.
.
<==CDriver::OnWdfDriverDeviceAdd [status: STATUS_SUCCESS]
A mismatch between the PNP/INF version and the KMD file version on the graphics adapter has been detected. The adapter will fail to start.
(WinDbg breaks here -- see stack below)
==>CAdapter::OnWdfDeviceD0Entry(hWdfDevice: <hWdfAdapterDevice>, previousState: 5)
.
.
.

堆栈信息(Windows 10 Pro |测试模式| Build 19041.vb_release.191206-1406(:

[0x0]   dxgkrnl!DpiFdoValidateKmdAndPnpVersionMatch + 0x88e5c   
[0x1]   dxgkrnl!DpiFdoInitializeFdo + 0x313   
[0x2]   dxgkrnl!DpiAddDevice + 0x1942   
[0x3]   nt!PpvUtilCallAddDevice + 0x3b   
[0x4]   nt!PnpCallAddDevice + 0x94   
[0x5]   nt!PipCallDriverAddDevice + 0x827   
[0x6]   nt!PipProcessDevNodeTree + 0x333   
[0x7]   nt!PiRestartDevice + 0xba   
[0x8]   nt!PnpDeviceActionWorker + 0x46a   
[0x9]   nt!ExpWorkerThread + 0x105   
[0xa]   nt!PspSystemThreadStartup + 0x55   
[0xb]   nt!KiStartSystemThread + 0x28   

我不明白这意味着什么;我没有改变INF中的任何内容,这是一个UMDF驱动程序,所以什么";KMD文件版本";它指的是什么?我搜索了消息本身以及DpiFdoValidateKmdAndPnpVersionMatch,但结果为空。

编辑:(添加版本信息(

Windows Version Info:
---------------------
Edition ....... Windows 10 Pro
Version ....... 20H2
Installed on .. 1/5/2021
OS build ...... 19042.685
Experience .... Windows Feature Experience Pack 120.2212.551.0

有人能阐明这一点吗?

1909年符号不存在,因此符号必须是20H2的新添加
无论如何,1909 中确实存在有问题的字符串

据推测,Failure在IoQueryFullDriverPath((和GetFileVersion((之后传播
int3在DebugPrintEx((之后进行硬编码
有问题的函数ADAPTER_RENDER::Initialize((与硬编码的DWORDS(如"QCOM"等(进行了大量比较

C:> radare2 -Q -qq -c "fs strings;f~mismatch" c:WindowsSystem32driversdxgkrnl.sys
0x1c0076940 139 str.A_mismatch_between_the_PNP_INF_version_and_the_KMD_file_version_on_the_graphics_adapter_has_been_detected._The_adapter_will_fail_to_start.

C:> radare2 -A -Q -qq -c "axt 0x1c0076940" c:WindowsSystem32driversdxgkrnl.sys
fcn.1c015be84 0x1c0181f01 [DATA] lea r8, str.A_mismatch_between_the_PNP_INF_version_and_the_KMD_file_version_on_the_graphics_adapter_has_been_detected._The_adapter_will_fail_to_start.

我只是在谷歌上搜索与inf和GetKmdFileVersion相关的东西,似乎你需要提供一个特定的版本字符串看看你是否遵守这个

特别是引用文件

驱动程序将通过DXGK_DRIVERCAPS::具有新版本常量的WDDMVersion:DXGK_WDDMVERSION::DXGKDDI_WDDMv2_1=0x2100 Dxgkrnl将不使用WDDMVersion上限作为确定哪些新功能supported--该任务将留给其他caps或DDI存在。但是,如果驱动程序通过WDDMVersion cap,dxgkrnl将验证WDDM 2.1存在,如果不存在,则无法创建适配器。不一致的上限将导致无法创建适配器或段。

请尝试添加以下注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DisableVersionMismatchCheck=1[DORD Type]

相关内容

  • 没有找到相关文章

最新更新