In a driver I am debugging there is a call to D3DKMTCreateAllocation
. The error I receive is int (-1071775735) or 0xc01开发者_运维技巧e0009 which is of type NTSTATUS
.
I am trying to figure out this error but cannot find anything. It doesn't map to any of these:
STATUS_SUCCESS
STATUS_DEVICE_REMOVED
STATUS_INVALID_PARAMETER
STATUS_NO_MEMORY
STATUS_NO_VIDEO_MEMORY
How can I identify the error?
It looks like you may have stumbled upon an error code (STATUS_GRAPHICS_DRIVER_MISMATCH
) that is defined incorrectly in available documentation (see NTSTATUS values, shown as 0x401E0117); but it exists in the header file <ntstatus.h>
in the Windows Platform SDK and matches your value.
My installed copy of the Windows SDK (v7.0, Windows 7 / .NET 3.5sp1) describes it as follows (line 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)
Other D3D functions have this symbol listed but not the value. Here are links to the documentation, along with the quoted text.
DxgkDdiOpenAllocation @ MSDN
STATUS_GRAPHICS_DRIVER_MISMATCH - "The display miniport driver is not compatible with the user-mode display driver that initiated the call to DxgkDdiOpenAllocation (that is, supplied private data to the display miniport driver)."
DxgkDdiCreateAllocation @ MSDN
STATUS_GRAPHICS_DRIVER_MISMATCH - "The display miniport driver is not compatible with the user-mode display driver that initiated the call to DxgkDdiCreateAllocation."
精彩评论