这不是一个什么新话题了,但是DIY一下还是蛮有意思,纯属娱乐~~
大家都知道,Win2000,WInXp,Win2003下都只能安装8个Notify(Vista下听说是32个,看来够用了),多了不行.因为有个先来后到的问题,后来的坑满了就蹲不进去了,所以有时候我们为了跟别人和平共处,扩展一下还是有必要的.本代码只在WinXP SP2下测试通过,因为测试条件有限,所以没打算支持Vista,重在思路,重在实践!我把代码附上,如果谁愿意改成支持的也行~


上张图,27个Notify都正常工作:



附件中的testNotify.sys是专们用来测试的,它会注册9个NotifyRoutine~~
你可以把它复制多份来加载进行测试,打印的消息前面会有一个数字作为标识来区分
你可以先加载ExtendNotify.sys来完成扩展,然后注册多少个都可以~~卸载当然也是可以的~
或者你先加载testNotify.sys把8个坑占满再加载ExtendNotify.sys,依然可以正常扩展~~
实际上,上面那张图就是在虚拟机中8个坑全满的情况下再进行扩展的结果.


代码附上,有兴趣的自己看,有错误请指出~~

上传的附件 扩展ProcessNotify_achillis.rar