From: Ivan Brugiolo [MSFT] on 14 Jan 2010 21:50 > - Is there a Wmi method/class which can be used to shut off a > monitor. No. The power states are implemented through internal ioclt to the monitor class driver, that will use whichever mechanism is appropriate to perform the actual action. > - When you say "PnP-stop the physical video-card of the > machine while your virtual display-device is loaded" do you mean to > say that stop your native display driver and let your virtual display > driver (which might be a mirror driver)? Yes, but, in that case the virtual display cannot be a mirror one. It has to be a virtual `real` display. > And miniport would > be using its I2C interface to shutoff the monitor. A miniport can use whatever is appropriate for the implementation. I have seen ACPI methods as well as proprietary solutions. -- -- This posting is provided "AS IS" with no warranties, and confers no rights. Use of any included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm "Kalra" <kalra.apoorv(a)gmail.com> wrote in message news:66f898f1-ee36-488b-aff3-01d1285214ab(a)j24g2000yqa.googlegroups.com... > Hi Ivan, > > I am new to google groups and found interesting discussions going on > here. This one is a relevant to what i am trying to do. > > Few queries regarding your post: > - Is there a Wmi method/class which can be used to shut off a > monitor. I have read only about setting brightness through Wmi? If you > are referring to SetPowerState Method of the CIM_DesktopMonitor I > don't think this method is provided by Wmi by default. Correct me if > wrong? > - When you say "PnP-stop the physical video-card of the > machine while your virtual display-device is loaded" do you mean to > say that stop your native display driver and let your virtual display > driver (which might be a mirror driver)? > > By the way I was curious to know how does Control Panel--> Power > Options--> Timer switch off the monitor and I took call stack to read > that DispatchPower of monitor internally calls DispatchPower of > dxgkrnl which would obviously end up in miniport. And miniport would > be using its I2C interface to shutoff the monitor. > > -Autumn
From: Kalra on 21 Jan 2010 02:18 Thanks for your reply Ivan. Though you said it is an restricted territory, I tried to tweak a little bit here and there to achieve the goal same as vikash. I wrote a kind of filter driver which sits on top of monitor class driver ( using IoRegisterPlugPlayNotification and IoAttachDeviceToDeviceStack). Now I could see all the IRPs going down to Dispatch and Dispatch Internal of monitor device stack. Using all this I could see a private Ioctl being sent to its Dispatch Internal and this i guess is sent by the display adapter. Well I tried all this without being part of the stack too where I just hooked Dispatch internal of monitor class function driver to see what IRP was coming to it on being blanked. The Ioctl was same. But now if I build a I/o request with this same Ioctl code and send it to monitor class function driver it would blank it for few seconds and unblank it with a popup saying nvidia kernel mode display driver has crashed and recovered (http://www.microsoft.com/whdc/device/display/ wddm_timeout.mspx). Why does this happen? What am I missing here?
From: Ivan Brugiolo [MSFT] on 21 Jan 2010 06:06 You are missing the integration with Watchdog.sys and/or Timeout-Device-Recovery that is provided by proper integration with Win32k.sys and the part that normally is issuing the IOCLTs. Basically you have TDR-ed the device. Please, do not attempt to further compromise the already pale experience with display devices that users have by adding new kind of hooks and deviations for the tested paths. -- -- This posting is provided "AS IS" with no warranties, and confers no rights. Use of any included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm "Kalra" <kalra.apoorv(a)gmail.com> wrote in message news:b4d7171c-d43d-42fc-941f-08d9a1cd4b1d(a)k19g2000yqc.googlegroups.com... > Thanks for your reply Ivan. Though you said it is an restricted > territory, I tried to tweak a little bit here and there to achieve the > goal same as vikash. I wrote a kind of filter driver which sits on top > of monitor class driver ( using IoRegisterPlugPlayNotification and > IoAttachDeviceToDeviceStack). Now I could see all the IRPs going down > to Dispatch and Dispatch Internal of monitor device stack. Using all > this I could see a private Ioctl being sent to its Dispatch Internal > and this i guess is sent by the display adapter. Well I tried all this > without being part of the stack too where I just hooked Dispatch > internal of monitor class function driver to see what IRP was coming > to it on being blanked. The Ioctl was same. But now if I build a I/o > request with this same Ioctl code and send it to monitor class > function driver it would blank it for few seconds and unblank it with > a popup saying nvidia kernel mode display driver has crashed and > recovered (http://www.microsoft.com/whdc/device/display/ > wddm_timeout.mspx). Why does this happen? What am I missing here?
First
|
Prev
|
Pages: 1 2 Prev: WS2003/XP/2000 Driver signing Next: WdfDriverCreate causes a bug check 0x7E? |