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

显示驱动与休眠问题

楼主#
更多 发布于:2008-04-25 16:38
自己写了个显卡驱动(虚拟的),工作正常,但装上后在关机菜单里hibernate没有了,出现了灰掉的standby。 卸掉就恢复正常,hibernate也工作。

miniport里实现了SetPowerState和GetPowerState。
在设备管理器里看,该驱动支持D0和D3状态
用powercfg /devicequery S4_supported 也能看到。但powercfg /h on却显示不支持休眠。

请高手指点如何支持休眠。
谢了
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-27 02:41
很多驱动对电源管理都没有特别支持。
所以你能找到的资料可能就仅限于DDK的帮助了。
也正是因为这个原因,所以要处理好是需要做不少调试的。
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-04-28 13:48
有没有什么地方是显示驱动特别的,象显示模式或者vgabios方面不知道有没要求。
从ddk来看只是要实现SetPowerState等三个函数就可以了。
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-05-03 09:27
显示模式在dll的DrvAssertMode中实现,你所谓的虚拟显卡是什么方式的?Mirror,Hook,Filter还是严格概念的虚拟驱动,因为很长时间来很多人把上面提到的都说成是虚拟显卡驱动。这些驱动使用了不同的技术,实现细节也大不相同。
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-06 17:31
应该是严格的虚拟驱动,会跟有个代理通讯去驱动真正的硬件
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-07-08 17:28
你说的"装上后在关机菜单里hibernate没有了,出现了灰掉的standby"具体指什么地方?我也有做过虚拟显示驱动,安装后扩展一个桌面的那种,但没有注意到你说的问题,也没有你说的2003的问题(至少目前还没有发现)
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分
6楼#
发布于:2008-07-15 11:57
你在开始菜单里选择关机,会弹出个对话框,里面有三个选项:休眠,重起,关机。装完驱动后,休眠就被换成了待机了,而且图标是灰掉的
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-07-15 15:54
我的电脑驱动安装前后都是“待机”,并且“待机”都是可以用的,并不是“灰”的
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-07-15 16:09
你看下是不是“待机”具有输入焦点,你可以用鼠标在“待机”上按下,然后移动到空位置释放,看看“待机”按扭是不是可以选择的
另外你是在VM中还是非VM中测试?
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-07-15 16:15
另外,你的系统好象是英文的?我找个英文系统看看
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-07-15 17:37
请确认:
在选择“关闭计算机”并显示“关闭计算机”窗口后,先后按下SHIFT+$、SHIFT+I(大写i),看是否可以进行“休眠/待机”切换。
你也可以参考 “ http://tech.ddvip.com/2007-08/118716876231918.html ”中介绍的方法将“休眠”和“待机”都显示出来
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2008-07-15 17:40
Windows会在支持Standby的机器上使用Standby代替Hibernate,所以我的机器上只有显示Standby(即中文OS的待机),我有测试过,通过SHIFT+$,I是可以切换为Hibernate 的
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2008-07-16 10:29
测试了英文版本的XP,驱动也可以正常工作,安装前后都是Standby(可通过SHIFT+$,I来切换)
另外,我测试的系统均是Windows XP专业版+SP3,打了所有补丁。
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分
13楼#
发布于:2008-07-18 11:23
安装驱动前

图片:before-install.JPG


安装驱动后
 

图片:after-install.JPG



你上面说的 试过,还是不行。
另外我是在vm中
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2008-07-18 23:51
I have test my project in Windows XP, but It is correct when I switch it by SHIFT+$,I
Please try it again,thanks
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分
15楼#
发布于:2008-07-21 18:06
帮忙看一下这三个函数实现有没有问题?

VP_STATUS
VideoGetPowerState(
    PVOID HwDeviceExtension,
    ULONG HwId,
    PVIDEO_POWER_MANAGEMENT VideoPowerControl
    )
{
    return NO_ERROR;
}

VP_STATUS
VideoSetPowerState(
    PVOID HwDeviceExtension,
    ULONG HwId,
    PVIDEO_POWER_MANAGEMENT VideoPowerControl
    )
{
    return NO_ERROR;
}

VP_STATUS
VideoGetChildDescriptor(
    PVOID HwDeviceExtension,
    PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
    PVIDEO_CHILD_TYPE VideoChildType,
    PUCHAR pChildDescriptor,
    PULONG pUId,
    PULONG pUnused
    )
{
    if (ChildEnumInfo->ChildIndex == DISPLAY_ADAPTER_HW_ID) {
        
        *VideoChildType = VideoChip;
        *pUId = DISPLAY_ADAPTER_HW_ID;
        
        return VIDEO_ENUM_MORE_DEVICES;
    }

    return (ERROR_NO_MORE_DEVICES);
}
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2008-07-23 09:17
这几个函数虽然很简单,但应该没有什么问题。
顺便问下,你给出代码的驱动是XPDM的, 那么你有实现Aero吗?另外你有实现支持WDDM的虚拟驱动吗?
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2008-07-23 09:24
方便可以Mail或者MSN交流,我发个第3方公司做的产品给你测试下,看在你的系统中是有你说的问题,很抱歉我不能直接提供我做的产品给你测试,因为为公司产品保密是每个具有基本职业道德的员工必须做到的,尽请理解。
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
游客

返回顶部