Как запрограммировать драйверы ядра для windows без visual studio? - PullRequest
0 голосов
/ 14 января 2020

Каждый раз, когда я вижу учебник по драйверам, я вижу, что они используют visual studio, мне просто было интересно, обязательно ли устанавливать его для разработки windows драйверов?

Скажем, к примеру, я хотел бы скомпилировать следующий драйвер: (источник)

NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)    
{
        DbgPrint("Hello World\n");  
        return STATUS_SUCCESS;
}  

Как бы я мог скомпилировать / связать его без Visual Studio? Я искал повсюду.

Ответы [ 2 ]

1 голос
/ 15 января 2020

Связанные руководства основаны на более старых сборках WDK. Вы можете получить старый WDK и следовать учебному руководству, но я не очень рекомендую его.

В последнее время распространенным способом разработки драйверов Windows является использование Visual Studio, но также существует аналогичный подход. к учебнику, который разработан из среды командной строки.

https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/using-the-enterprise-wdk

Конечно, вам не нужно устанавливать Visual Studio как EWDK.

0 голосов
/ 21 января 2020

Если вы хотите использовать другую IDE, вы должны использовать Enterprise Windows Driver Kit (EWDK) https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/using-the-enterprise-wdk После загрузки и разархивирования архива вам нужно будет запустить LaunchBuildEnv.cmd и затем запустите MsBuild. Пример: Msbuild my_driver_project.vcxproj /p:configuration=debug /p:platform=x64

Предполагается, что вы напишите свой собственный файл vcxproj. Подробности о формате файла здесь: https://docs.microsoft.com/en-us/cpp/build/reference/vcxproj-file-structure?view=vs-2019, и вы можете посмотреть некоторые примеры драйверов от Microsoft здесь: https://github.com/microsoft/Windows-driver-samples

Если вы только начинаете с Windows Драйверы Я бы сказал, что использование Visual Studio и WDK - хорошая идея, поскольку вы можете больше сосредоточиться на основных принципах разработки драйверов, а после того, как у вас что-то получится, вы можете написать свой собственный файл vcxproj и использовать eWDK. Полезно иметь несколько примеров файлов vcxproj.

Если вы выполните go по маршруту Visual Studio, вы можете использовать редакцию Visual Studio Community, бесплатную для некоммерческого использования. Важно установить Visual Studio до WDK, потому что WDK по сути является плагином для Visual Studio. Дополнительные инструкции и ссылки для скачивания для Visual Studio и WDK https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk

...