首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“已在图形适配器上检测到PNP/INF版本与KMD文件版本之间的不匹配”

“已在图形适配器上检测到PNP/INF版本与KMD文件版本之间的不匹配”
EN

Stack Overflow用户
提问于 2021-01-13 17:46:30
回答 2查看 489关注 0票数 0

我一直在测试一个UMDF IddCx视频驱动程序,这条消息刚刚出现(在devcon.exe安装之后.)以及WinDbg中的一个断点:

代码语言:javascript
复制
(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)
    .
    .
    .

Stack info (Windows10Pro Pro测试模式:构建19041.vb_.191206-1406):

代码语言:javascript
复制
[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,但结果是空的。

编辑:(添加版本信息)

代码语言:javascript
复制
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

有人能弄清楚这件事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-13 22:43:06

这个符号在1909年并不存在,所以这个符号必须是20H2的一个新的加载项。

不管怎么说,这个字符串确实存在于1909年。

据推测,故障是在IoQueryFullDriverPath()和GetFileVersion()之后传播的。

int3是在DebugPrintEx()之后硬编码的

问题中的函数ADAPTER_RENDER::Initialize()正在与硬编码的DWORDS (如'QCOM‘等)进行大量比较

代码语言:javascript
复制
C:\> radare2 -Q -qq -c "fs strings;f~mismatch" c:\Windows\System32\drivers\dxgkrnl.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:\Windows\System32\drivers\dxgkrnl.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报告WDDM2.1支持: DXGK_WDDMVERSION::DXGKDDI_WDDMv2_1 =0x2100Dxgkrnl将不使用WDDMVersion上限来确定支持哪些新特性-该任务将留给其他caps或DDI存在。但是,如果驱动程序通过WDDMVersion上限报告WDDM2.1支持,dxgkrnl将验证是否存在WDDM2.1所需的caps或DDIs,如果它们不存在,则无法创建适配器。不一致的caps将导致无法创建适配器或段。

票数 1
EN

Stack Overflow用户

发布于 2021-05-07 21:44:01

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DisableVersionMismatchCheck =1 DWORD型

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65707153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档