Thanks Tim. Yes, my device needs to be in D0 for IRP processing. On Tue, Jul 22, 2014 at 10:36 PM, Tim Roberts <timr@xxxxxxxxx> wrote: > Surabhi Ghaisas wrote: > > > > In WaveRT miniport driver I am exposing one device interface for use > > by custom application by means of IoRegisterDeviceInterface. I want to > > handle the IRPs that come for this interface in miniport driver > > itself. For the same I have registered my own handlers for > > IRP_MJ_CREATE and IRP_MJ_DEVICE_CONTROL. > > > > What I am observing is when there is no activity for my device my > > driver enters D3 state as expected. After which when I launch my > > custom application I receive calls to IRP_MJ_CREATE and then > > IRP_MJ_DEVICE_CONTROL for registered interface as expected but all > > this time driver state remains D3. I do not get a call to change > > driver state to D0 before receiving these IRP calls. Is this expected > > behaviour? > > Yes. It is up to the driver to decide when the device has to power up. > For KS requests, the port driver has that knowledge. When you bypass > the port driver, you have to do it. > > By the way, you have opened a real can of worms here. There are a large > number of players involved (KS, Port class, Miniport, Bus), and each one > of them thinks they own a piece of the power management pie. > > I'm a little surprised your device goes into D3. I didn't know the > WaveRT port driver would do that. > > > > Should miniport driver make call to PoSetPowerState for IRPs that are > > not passed on portclass? > > Do your IRPs require the device to be in D0? If so, then you need to > send an IRP_MJ_POWER with IRP_MN_SET_POWER. One of the existing drivers > will call PoSetPowerState. I don't have any clue whether this will > actually work. The port driver thinks it is managing the power policy. > > -- > Tim Roberts, timr@xxxxxxxxx > Providenza & Boekelheide, Inc. > > ****************** > > WDMAUDIODEV addresses: > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx > Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe > Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe > Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx > > URL to WDMAUDIODEV page: > http://www.wdmaudiodev.com/ > >