在我正在调试的驱动程序中,有一个D3DKMTCreateAllocation
的调用。我收到的错误是int(-1071775735)或0xc01e0009,类型为NTSTATUS
。
我试图弄清楚这个错误但找不到任何东西。它不会映射到以下任何一个:
STATUS_SUCCESS
STATUS_DEVICE_REMOVED
STATUS_INVALID_PARAMETER
STATUS_NO_MEMORY
STATUS_NO_VIDEO_MEMORY
如何识别错误?
答案 0 :(得分:3)
看起来您可能偶然发现了可用文档中错误定义的错误代码(STATUS_GRAPHICS_DRIVER_MISMATCH
)(请参阅NTSTATUS values,显示为0x401E0117);但它存在于Windows Platform SDK的头文件<ntstatus.h>
中,并与您的值匹配。
我安装的Windows SDK副本(v7.0,Windows 7 / .NET 3.5sp1)描述如下(第13743行):
//
// MessageId: STATUS_GRAPHICS_DRIVER_MISMATCH
//
// MessageText:
//
// The kernel driver detected a version mismatch between it and the user mode driver.
//
#define STATUS_GRAPHICS_DRIVER_MISMATCH ((NTSTATUS)0xC01E0009L)
其他D3D功能列出了此符号但不是值。以下是文档的链接以及引用的文本。
DxgkDdiOpenAllocation @ MSDN
STATUS_GRAPHICS_DRIVER_MISMATCH - &#34; 显示微型端口驱动程序与启动对DxgkDdiOpenAllocation的调用的用户模式显示驱动程序不兼容(即,向显示微型端口驱动程序提供私有数据)。&#34 ;
DxgkDdiCreateAllocation @ MSDN
STATUS_GRAPHICS_DRIVER_MISMATCH - &#34; 显示微型端口驱动程序与启动了对DxgkDdiCreateAllocation的调用的用户模式显示驱动程序不兼容。&#34;