tough_lion
驱动牛犊
驱动牛犊
  • 注册日期2006-05-08
  • 最后登录2007-09-08
  • 粉丝0
  • 关注0
  • 积分370分
  • 威望38点
  • 贡献值0点
  • 好评度37点
  • 原创分0分
  • 专家分0分
阅读:1197回复:0

请教64bit 平台下IO_STATIC_LOCATION结构的改变

楼主#
更多 发布于:2007-05-04 11:11
  大家好,我是用DDK开发的一个摄像头过滤驱动。
这里请教一个关于64 bit 平台下取到的IO_STATIC_LOCATION结构与32 bit平台不一致的问题。
我的source如下:
   PIO_STACK_LOCATION irpSp;
          PKS_DATAFORMAT_VIDEOINFOHEADER pVideoInfoHeader ;
             irpSp = IoGetCurrentIrpStackLocation(Irp);
          if(irpSp->MajorFunction == IRP_MJ_CREATE)
          {
            pVideoInfoHeader = (PKS_DATAFORMAT_VIDEOINFOHEADER)((UCHAR*)(irpSp-     >FileObject->FileName.Buffer) + 142);
          //取到InfoHeader结构后打印出宽和高度
        KdPrint(("IRP_MJ_CREATE: width , height =%d,%d \n",
               pVideoInfoHeader->VideoInfoHeader.bmiHeader.biWidth,
               pVideoInfoHeader->VideoInfoHeader.bmiHeader.biHeight));
          }
以上Source在32bit的XP平台下挂载驱动,运行正常,然后在64 bitXP下使用2003DDK编译后挂载,运行时取到的结构变量是错值。这里诚心请教各位有这方面经验的朋友指点一二,不胜感激
游客

返回顶部