Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Как подцепить драйвер устройства в своей программе |
Автор: Flashed 27.5.2015, 17:20 |
Интересует, как напрямую обратиться к драйверу, установленному в Windows, из своей программы. Например, Wireshark для сниффинга траффика, использует драйвер сетевого адаптера. Как это сделать? Есть какие-то WinApi функции этого уровня? |
Автор: xvr 27.5.2015, 18:42 |
Есть - CreateFile ![]() Если устройство имеет свой собственный интерфейс для общения с прикладной программой, то его драйвер должен предпренять шаги для такого общения, в частности создать несколько имен в определенном месте таблицы имен объектов в кернеле, и тогда он сможет получать запросы из прикладных программ. Для них (программ) он (драйвер) будет выглядеть как специальный файл. Обычно для управления устройством используются IOCTL запросы, а для обмена большим количеством данных - Read/Write запросы или прямо отмэпированные области памяти. Подробности см https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573(v=vs.85).aspx |
Автор: Flashed 28.5.2015, 10:22 |
xvr, развернуто и ясно. Спасибо! ![]() |