flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:2319回复:15

请问passthru在2000和xp中的区别

楼主#
更多 发布于:2003-11-03 10:52
我能不能把passthru的2000版本直接在xp机器上使用,或者先把源代码在xp下编译。
痛并快乐着!
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-03 11:11
应该没有问题,我没有直接拿那个例子试过,不过我用基于NTDDK中的Passthru做的东西,2000/XP都没有问题.

你试了有问题么?
写驱动不如买足彩!!
flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-03 11:36
有问题啊,有时候会产生蓝屏现象。
痛并快乐着!
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-03 13:02
有问题啊,有时候会产生蓝屏现象。

那应该不是Passthru本身的问题,应该是你加的处理里有问题,跟系统没有什么关系.
写驱动不如买足彩!!
flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-03 15:23
奇怪,我看调试信息好像和塞门铁客防火墙有关。
痛并快乐着!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-11-03 15:52
嗯,我用的时候偶尔也会蓝,也是说norton的防火墙的错。我在2k下的。
flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-11-03 15:58
现在出现一个更奇怪的问题,有一次蓝屏,显示Kmixer.sys出错,我查了查发现Kmixer.sys是有关Audio的问题。
痛并快乐着!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2003-11-03 16:39
呵呵,我也碰见过,也是说是audio的问题,不过文件名好像不是kmixer.sys罢了。
肯定是你改的有问题。我找到错的地方后,就再也没有见到了。
你看看是不是free memory的时候的错误。我的错误好像是free的时候大小弄错了。 :D
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-11-03 20:53
这问题估计要胡老大才知道
放弃瘟草,现吃李草
flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-11-04 09:11
谢谢各位的指点,现在找到原因了,arthurtu老大说的对:我释放的时内存大小和分配的不一样,所以导致了蓝屏。 :)
痛并快乐着!
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-11-04 09:25
谢谢各位的指点,现在找到原因了,arthurtu老大说的对:我释放的时内存大小和分配的不一样,所以导致了蓝屏。 :)


不明白.能不能具体描述一下,我觉得这个解释不很合理,释放内存只要地址不错就应该不会出错.释放时是不关心大小的.

分配内存我们一般用ExAllocatePool,释放内存用ExFreePool,这个函数只关心内存的起始地址.如果分配的是NDIS_BUFFER,假设你分配了100个字节,处理过程中将NDIS_BUFFER_LENGTH改为50,对释放内存是没有影响的,只要你没有改动MappedSystemVa域,调用NdisFreeBuffer是不会出错的.
写驱动不如买足彩!!
flywithlove
驱动小牛
驱动小牛
  • 注册日期2002-11-05
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-11-04 09:50
to SharpShooter:我用的是NdisAllocateMemory,NdisFreeMemory。
痛并快乐着!
dshadow79
驱动牛犊
驱动牛犊
  • 注册日期2002-09-29
  • 最后登录2006-04-10
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-11-04 11:23
ndisfreememory第二和第三个参数也都可以设成0的吧?有什么区别吗?
right_wind
驱动中牛
驱动中牛
  • 注册日期2001-10-12
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分60分
  • 威望66点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
13楼#
发布于:2003-11-04 13:06
ndisfreememory第二和第三个参数也都可以设成0的吧?有什么区别吗?

有区别的,另外如果ndisfreememory的地址超界,肯定会出兰屏错误的。
good good study, day day up。
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-11-04 13:27
to SharpShooter:我用的是NdisAllocateMemory,NdisFreeMemory。

谢谢.
原来如此,我没有用过这两个函数,就我的经验,包括我有幸看到的一些国外商业软件的代码,经常会有这样的处理:比如要砍掉一个NdisBuffer的尾部一些字节,直接将其BufferLength调整就可以了,释放的时候也没有必要恢复,应该是没有问题的.

看来这两个函数是要关心释放长度的了.我觉得处理中涉及到Buffer的恢复的话,写起来就得更仔细点了.
写驱动不如买足彩!!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
15楼#
发布于:2003-11-04 14:09
总之,你拿多少,就还多少,才是安全之道。 :D

 
释放时是不关心大小的.


不认同。
游客

返回顶部