设置背光亮度有关问题

设置背光亮度问题
BOOL   SetBackLightLevel(DWORD   dwLevel)
{
                        BOOL   bRet   =   FALSE;
                        DWORD   dwRet;

                        HANDLE   h   =   CreateFile(TEXT( "BKL1: "),   GENERIC_READ|GENERIC_WRITE,   0,0,
                                                                                                        OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,   0);  
                      if   (h   !=   INVALID_HANDLE_VALUE)
                    {

                                          if   (   DeviceIoControl(h,   2   ,   &dwLevel,   sizeof(DWORD),   0,0,   &dwRet,   0))
                                          {
MessageBox(hWnd,L "设置背光灯亮度成功 ",   L "error ",MB_OK);
                                                                bRet   =   TRUE;
                                          }
  else
MessageBox(hWnd,L "设置背光灯亮度失败 ",   L "error ",MB_OK);
                                        CloseHandle(h);
                    }
      else
      MessageBox(hWnd,L "打开文件失败 ",L "error ",MB_OK);
                    return   bRet;
}  

我在多普达818上测试   提示 "设置背光灯亮度失败 ".


同样   DeviceIoControl(h,   1   ,   0,   0,   &dwOut,   sizeof(DWORD),   &dwRet,   0)   获取背光灯亮度等级也是失败.

谁帮我看看问题出在哪里?

------解决方案--------------------
你的 DeviceIOControl()函数中传递的2或者1是什么意思呢?
在Backlight driver 的IOCTRL 函数中,有支持你的2或者1的分支吗?
我想是没有的

要对一个设备的电源状态进行调整,我想应该是调用 PM 的IOCTL 吧
比如

IOCTL_POWER_SET 诸如此类的。

不知道说的对不对

大家交流一下,3Q!

再者我认为你调整背光亮度的方式有点问题,所有对设备电源状态的改变,我认为都应该通过PM来实现,而不是你直接去操作设备。
------解决方案--------------------
SetPowerRequirement?楼主这个背景亮度调整搞定了没
------解决方案--------------------
楼主的问题我以前遇到过,问了DOPOD的技术,他们说系统可能没实现这个接口。

http://www.3snews.net/index.php/111/action_viewspace_itemid_2315.html

这篇文章会帮助你的。