2011-04-13 28 views
0

在我正在调试的驱动程序中,打电话给D3DKMTCreateAllocation。我收到的错误是int(-1071775735)或0xc01e0009,它的类型为NTSTATUSD3DKMTCreateAllocation返回码

我想弄清楚这个错误,但找不到任何东西。它不映射到任何这些:

STATUS_SUCCESS 
STATUS_DEVICE_REMOVED 
STATUS_INVALID_PARAMETER 
STATUS_NO_MEMORY 
STATUS_NO_VIDEO_MEMORY 

如何识别错误?

回答

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 - “显示微型端口驱动程序是不与发起呼叫到DxgkDdiOpenAllocation用户模式显示驱动器兼容(即,提供私有数据到显示微型端口驱动程序)。”

DxgkDdiCreateAllocation @ MSDN
STATUS_GRAPHICS_DRIVER_MISMATCH - “显示微型端口驱动程序与发起呼叫DxgkDdiCreateAllocation用户模式显示驱动程序不兼容