Dear Eugene, Thanks a lot for your quick response. I am trying to modify our driver code according your suggestion to take care of this behavioral change in Vista. I just want to know -- is our observation is correct in Vista or I did some mistake because of that I am getting this ? [ In Vista, as soon as I call Multimedia API waveInOpen/waveOutOpen from application the stream/device goes directly into RUN state and it starts capturing or rendering. While in XP when I call waveInOpen/waveOutOpen from application the stream/device does not go directly into RUN state, instead the stream is in STOP state. The stream/device goes to RUN state only when application uses waveInStart or waveOutWrite call. ] Could anybody please confirm this? Best regards, --Chinmay On Thu, Jan 29, 2009 at 11:05 AM, Eugene Muzychenko <emuzychenko@xxxxxxxxx>wrote: > Hello Chinmay, > > > I need XP behavior in Vista. > > You are unable to change Windows audio subsystem behavior. But if you > need to start a stream immediately upon creation (for example, to > be ready for data), you can perform all necessary actions in NewStream > and/or Init. Stream states managed with SetState are for driver clients > only. A driver should not change stream state without a client > request. > > Since a pin instance accepts data IRPs only in Acquire/Pause/Run > states, you can perform all preparations when a stream state changes > to Acquire/Pause. > > Regards, > Eugene > > ****************** > > 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/ > >