我如何“安装”一个自定义Windows驱动程序?

我打算在C编写一个基本的Windowsregistryfilter。filter的目的是钩住所有(用户和内核特权)registry调用,以便我可以在我的程序中使用它们。 我基本上是复制马克Rusinovich regmon /进程监视器,但更基本的。

我的问题是,一旦filter用C编写,你如何让系统实现自定义行为,而不是实现registry调用的原始预期行为?

我正在使用Windows 7

编辑:我试图做到这一点,可以钩住所有的registry调用业余爱好c + +项目的一部分。

有特殊的功能。 请参阅MSRegister上的CmRegisterCallback() , CmRegisterCallbackEx()和过滤注册表调用 。

至于只安装内核模式驱动程序,您可以使用服务控制器(sc.exe)。 使用sc create [service name] binPath= [path to your .sys file] type= kernel创建内核模式服务, sc start [service name]启动它。 在对驱动程序进行更改之前,请不要忘记sc stopsc delete它。

基本上,驱动程序被认为是服务,因此您可以使用服务控制管理器使用上述API基本上实现的是在服务注册表项下的服务项。 有关如何实现此项检查的示例,请滚动至名为“动态加载和卸载驱动程序”部分的底部。 此外,如果你想实现简单的调试/开发,并使用VS2k10我建议你使用免费的VisualDDK我相信这应该足以让你去。