Связь между приложением Delphi и Windows NT Системный драйвер

StackOverflow https://stackoverflow.com/questions/4305677

Вопрос

Я пытаюсь построить очень простого драйвера. Единственной целью будет зарегистрировать «pssetCreateProcessnotifyRoutine», а при полученных обратных вызовах из ядра уведомить мое заявление Win32 о том, какие ходовые предложения запускаются и останавливаются.

Я только знаю, как построить такой простой драйвер с «Whireentry» и «Driverunload» и составьте его с DDK. Но я не знаю, как на самом деле реализовать связь. Я знаю, что это можно сделать с IOCTL. Но за пределы этого я в темноте. Я не могу найти простой пример того, как сделать это в Delphi. Я только знаю, что это можно сделать.

Итак, что я ищу, это какой-то простой и понятный учебник о том, как это сделать или событие лучше сделать пример программы Delphi с Acompanying Driver Code. Может быть, есть даже другие способы общения.

Любая помощь будет оценена.

Это было полезно?

Решение

Не имеет значения, в Delphi или нет. Вы должны использовать функциональный DeviceioControl. Читать Статья в MSDN об этом.

Короче говоря, вам придется выбрать некоторые Коды IOCTL из доступного набора. Затем вы называете DeviceiOControl с одним из этих кодов и передаете некоторые данные, а в драйвере вы обрабатываете этот запрос и верните что-то еще.

Вы также можете обрабатывать стандартные IOCTL, такие как те, которые генерируются, вызывая ReadFile или WriteFile в режиме пользователя.

Не ищите «Учебник, как это сделать в Delphi», просто ищите любой учебник. Они все одинаковы, независимо от языка, это чистый Win32 / нативные API. Вот один Например, просто поглотил это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top