D3DKMTCreateAllocation код возврата - PullRequest
0 голосов
/ 13 апреля 2011

В драйвере, который я отлаживаю, есть вызов D3DKMTCreateAllocation.Я получаю ошибку типа int (-1071775735) или 0xc01e0009 типа NTSTATUS.

. Я пытаюсь выяснить эту ошибку, но ничего не могу найти.Он не сопоставлен ни с одним из них:

STATUS_SUCCESS  
STATUS_DEVICE_REMOVED  
STATUS_INVALID_PARAMETER  
STATUS_NO_MEMORY  
STATUS_NO_VIDEO_MEMORY  

Как я могу определить ошибку?

1 Ответ

3 голосов
/ 13 апреля 2011

Похоже, что вы наткнулись на код ошибки (STATUS_GRAPHICS_DRIVER_MISMATCH), который неправильно определен в доступной документации (см. значения NTSTATUS , показанные как 0x401E0117); но он существует в заголовочном файле <ntstatus.h> в Windows Platform SDK и соответствует вашему значению.

Моя установленная копия 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. "

...