阅读:2113回复:2
w2k下的PassThru和用户态交互修改说明 之补遗篇
首先要万分感谢condor大虾,为我们这些新手着想,贴出了这片贴子,可能由于贴的时候比较匆忙,因此遗漏了一些东西,导致无法直接编译,为新手造成了一些困惑,经过一些摸索,我把condor大虾所遗漏的东西给补上,希望能对新手有所帮助
另外正如condor所说如果您熟悉,就不要看我的修改, 也不会浪费您的时间。 而且,我更是一个新手,我的修改只能保证功能得已实现,其余的,嘿嘿,说不准了 1 在加全局变量处请再加上下面几个 NDIS_SPIN_LOCK GlobalLock; UINT MiniportCount; NDIS_HANDLE WrapperHandle; 值得注意的是最后一个变量是从DriverEntry中取出来的,因为在那个函数的变量WrapperHandle在另外的地方会用到(NdisMRegisterDevice函数) 2 在PtRegisterDevice中 将PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION]; 改为 PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]; 将MajorFunction = PtDispatch; 改为 MajorFunction(i) = PtDispatch;请自行把()改为[],因为论坛会把[x]进行一些处理,当x=i时,就是斜体的意思,估计condor大虾也是让这个给害了 3.在passthru.h文件中多增加上一个申明 extern NDIS_SPIN_LOCK GlobalLock; 好了至此,修改完毕,编译,安装什么的,不用多费口水了吧 其实我的目的是让应用程序传递一个数组来给IM,哎,革命尚未成功,同志人须努力!! 之所以我没有把所有的源代码贴上来,是因为,我认为,新手,特别是和我一样的新手,进入一个全新的世界后,如履薄冰,步步艰难,越是如此,越因该不怕牺牲,勇于自己探索,如果你还有什么不明白的地方,请liu_kun@21cn.com,大家一起讨论吧! 最后,我不得不感谢论坛上的zhaock ,因为,一开始,我也是想直接找他要源代码的,是他的一番话给我勇气,让我有勇气自己来面对陌生的代码 [编辑 - 2/21/02 作者: babizhu] |
|
最新喜欢:![]() |
沙发#
发布于:2003-12-11 14:42
这篇遗补的文章太重要了
谢谢 |
|
板凳#
发布于:2007-11-29 21:34
恩,学习了!!!
|
|