Я недавно познакомился с основами программирования драйверов с использованием Visual Studio 2019 + WDK, я создал свой первый Hello World драйвер C.
Дело в том, что я не действительно знаю C. Я знаю, что можно программировать драйверы в Rust, но как?
Я понял, что встроенное программирование в Rust гораздо более задокументировано, чем программирование драйверов.
Можно ли, например, связать драйвер C код в код Rust no_std, а затем скомпилировать его в файл .sys? Плюс также возможность использовать константы и функции из ntddk.h
et c ...?
(я действительно не знаю, как я мог связать Rust и C в контексте драйвера).
Или можно напрямую запрограммировать драйвер на Rust и каким-то образом скомпилировать его в файл .sys (возможно, есть другой формат файла или приемы преобразования, которые я, вероятно, не использую) не знаю, поскольку я новичок в программировании драйверов).
Я видел, что есть winapi-kmd-rs , но я также видел, что он довольно старый.
Полагаю, что все драйверы, написанные в Rust опытными программистами, не используют этот ящик.