7wolves
驱动牛犊
驱动牛犊
  • 注册日期2002-01-31
  • 最后登录2011-03-30
  • 粉丝1
  • 关注0
  • 积分56分
  • 威望391点
  • 贡献值1点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:2197回复:6

显卡驱动,在xp/vista工作正常,2003不行

楼主#
更多 发布于:2008-07-06 17:03
显卡驱动,在xp/vista工作正常,2003不行。调试发现在2003上调用VideoPortMapMemory返回失败,有没人知道原因?
另外,如果要支持休眠,需要实现哪些东西?
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-07-08 17:24
返回的代码是多少?
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
7wolves
驱动牛犊
驱动牛犊
  • 注册日期2002-01-31
  • 最后登录2011-03-30
  • 粉丝1
  • 关注0
  • 积分56分
  • 威望391点
  • 贡献值1点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-07-15 12:06
ERROR_INVALID_PARAMETER。

    ULONG inIoSpace = VIDEO_MEMORY_SPACE_MEMORY;

    Status = VideoPortMapMemory(DeviceExtension,
        DeviceExtension->PhysicalFrameBufferAddress,
        &MapInformation->VideoRamLength, &inIoSpace,
        &MapInformation->VideoRamBase);

其中DeviceExtension->PhysicalFrameBufferAddress是我在系统内存中malloc出来的
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-07-15 15:36
你的内存是怎么分配的,用ExAlloc?分配的是分页还是非分页的内存?
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
7wolves
驱动牛犊
驱动牛犊
  • 注册日期2002-01-31
  • 最后登录2011-03-30
  • 粉丝1
  • 关注0
  • 积分56分
  • 威望391点
  • 贡献值1点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-07-17 17:57
是调用MmAllocateContiguousMemory
7wolves
驱动牛犊
驱动牛犊
  • 注册日期2002-01-31
  • 最后登录2011-03-30
  • 粉丝1
  • 关注0
  • 积分56分
  • 威望391点
  • 贡献值1点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-07-17 18:39
换成VideoPortAllocatePool也不好使

    fb = VideoPortAllocatePool(DeviceExtension, VpNonPagedPool, 8*1024*1024, GKFB_TAG);
    if (fb == NULL) {
        GK_DEBUG(T_ERROR, ("fb alloc error\n"));
        return (FALSE);
    }
    DeviceExtension->FrameBuffer = fb;
    DeviceExtension->PhysicalFrameBufferAddress = MmGetPhysicalAddress(fb);
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-07-18 23:52
Maybe you can use another methot,such as file share, ExAll...,
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
游客

返回顶部