我正在尝试构建一个非常简单的驱动程序.它的唯一目的是注册“PsSetCreateProcessnotifyRoutine”和从内核收到的回调,通知我的Win32应用程序关于哪些proccesses启动和停止.
我只知道如何用“DriverEntry”和“DriverUnload”构建这样一个简单的驱动程序,并用DDK编译它.但我不知道如何实际沟通.我知道可以用IOCTL完成.但除此之外,我在黑暗中.我找不到在Delphi中如何做到这一点的简单例子.我只知道可以做到.
所以我正在寻找的是一些简单易懂的教程,如何做到这一点或事件更好的例子delphi程序与acompaniying驱动程序代码.也许甚至还有其他沟通方式.
任何帮助都会得到满足.
解决方法
如果在Delphi中没关系.您必须使用DeviceIoControl功能.阅读
article in MSDN关于它.
简而言之,您必须从可用的集合中选择一些IOCTL codes.然后使用其中一个代码调用DeviceIoControl并传递一些数据,并在驱动程序中处理该请求并返回其他内容.
您还可以处理标准IOCTLS,例如通过在用户模式下调用ReadFile或WriteFile生成的IOCTLS.
不要寻找“如何在Delphi中做到这一点的教程”,只需寻找任何教程.它们都是一样的,无论语言如何,它都是纯粹的Win32 / Native api.例如Here’s one,只是用Google搜索出来.