yearnyan
驱动牛犊
驱动牛犊
  • 注册日期2004-06-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:997回复:1

filemon 的CDO采用的缓冲区问题

楼主#
更多 发布于:2004-08-05 09:12

  在filemon 中.定义了
#define IOCTL_FILEMON_GETSTATS    (ULONG) CTL_CODE( FILE_DEVICE_FILEMON, 0x02, METHOD_NEITHER, FILE_ANY_ACCESS )

而其缓冲区的获取路径有如下代码.:
   outputBuffer       = Irp->AssociatedIrp.SystemBuffer
case IRP_MJ_DEVICE_CONTROL:

 if( Irp->MdlAddress ) {

            outputBuffer = MmGetSystemAddressForMdl( Irp->MdlAddress );
        }

跟书上讲的怎么也对不起来呢.
DeviceIoControl  的 METHOD_NEITHER方式下 的用户输出缓冲不是放在IRP首部UserBuffer 中的吗.

最新喜欢:

ljmmaryljmmar...
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-08-05 10:31
又不是CASE FILE_DEVICE_FILEMON:
IRP_MJ_DEVICE_CONTROL对应的东西多着呢。

花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
游客

返回顶部