2015-06-04 2 views
0

Я пишу Windows DLL, и мне нужны некоторые функции из wdm.h. Я связываюсь с ntoskrnl.lib, и он компилирует только поиск без предупреждений или ошибок, и когда он запускает приложение, он говорит, что не может найти ntoskrnl.exe. Однако этот EXE находится в папке C: \ Windows \ System32. Что происходит?Visual Studio - ntoskrnl.exe не найден

ответ

1

Ошибка в использовании. Это не значит, что он не может найти файл, значит, он не может его загрузить. Вы не можете загрузить ntoskrnl.exe в usermode, потому что это DLL режима ядра. На самом деле это ядро. Загрузка его снова не имеет никакого смысла. wdm.h не должен включаться компонентами пользовательского режима.

+0

Это имеет смысл. Спасибо. Тем не менее, у меня есть WDK из Windows, и я устанавливаю свой тип проекта как DLL, в отличие от Kernel Drivers. Мне нужно добавить что-то, чтобы использовать ntoskrnl.exe. Вы случайно не знаете, что мне нужно сделать? –

+0

Что вы на самом деле пытаетесь сделать? Что заставляет вас думать, что вам нужно использовать ntoskrnl.exe для этого? –

+0

Я создаю драйвер потоковой передачи ядра (аудио). Мне это нужно для некоторых вещей. –

1

А, я думаю, что исправил проблему. Затем я получил предупреждение о том, что указанная секция .crt существует. Я узнал, что не могу использовать библиотеку CRT, когда я в режиме ядра. Поэтому я исправил это. Теперь у меня есть один вопрос. Если я создам этот драйвер в режиме ядра, смогу ли я получить к нему доступ с помощью программы C/C++ в пользовательском режиме?

+0

https://msdn.microsoft.com/en-us/library/windows/desktop/aa363219%28v=vs.85%29.aspx и https://msdn.microsoft.com/en-us/library/windows /hardware/ff543287%28v=vs.85%29.aspx –

+0

Спасибо за помощь. Я думаю, что часть моей проблемы - мне нужно немного изучить драйверы Windows. –

+0

Звучит разумно. :-) Обратите внимание, что некоторые виды драйверов радикально отличаются от других; приведенные выше ссылки применимы к универсальным драйверам, но могут не обязательно применяться к вашему конкретному сценарию. –

Смежные вопросы