Скомпилируйте образец драйвера KMDOD для Windows с WDK 10 для Windows 10 - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь скомпилировать образец драйвера только для отображения, который предоставляет Microsoft, который называется KMDOD. Я использую Visual Studio 2017 с WDK для Windows 10, версия 1809. Я просто следовал инструкциям здесь , однако у меня возникли некоторые проблемы.

Сначала при попытке построить проект интерфейсы DxgkDdiStopDeviceAndReleasePostDisplayOwnership DxgkDdiSystemDisplayEnable DxgkDdiSystemDisplayWrite не распознаются как тот же тип, что и функция, на которую они указывают. Однако после проверки их типа они просто NTSTATUS как моя функция. Я пытался решить это, набирая мои указатели функций, когда я назначаю их. Я не знаю, является ли этот подход правильным, но теперь я смог пропустить эти ошибки.

Оригинальный пример кода без типов приведен здесь здесь

Следующая проблема, которую я обнаружил, заключается в том, что при попытке создать проект выдается ошибка LNK2019, говорящая: неразрешенный внешний символ "void __cdecl оператор delete (void *, unsigned __int64)" (?? 3 @ YAXPEAX_K @ Z), на который есть ссылка в функции "public: void * __cdecl BASIC_DISPLAY_DRIVER ::` скалярное удаление деструктора '(unsigned int) "(?? _GBASIC_DISPLAY_DRIVER @@ QEAAPEAXI @ Z) в объекте BDD_DDI.obj

Кроме того, в SampleDisplay.sys появляется неразрешенный внешний вид LNK1120 1, который, как я полагаю, вызван предыдущей ошибкой компоновки.

Как я могу решить эту ошибку связывания?

...