Gaurav Khuntale wrote: > > I am working on following failure in wave test, What sample did you start with? Was it msvad? > 1) Standard Streaming\Rendering Pin Tests\Reset Pin while streaming data > KSPIN_DATAFLOW_IN pin is currently in state KSSTATE_PAUSE; want > it to be in state KSSTATE_RUN > Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_RUN > Position reported before issuing KSRESET_BEGIN = 121 bytes > KSPIN_DATAFLOW_IN pin is currently in state KSSTATE_RUN; want it > to be in state KSSTATE_RUN > Resetting Pin state: IOCTL_KS_RESET_STATE (KSRESET_BEGIN) > Position reported after issuing KSRESET_BEGIN = 0 bytes > Submitting IOCTL_KS_WRITE_STREAM IRP ... > GetLastError did not return ERROR_IO_PENDING even though the pin > is paused > > [ GetLastError() returned 21 (0x15) - The device is not ready. ]. > FAIL: Failed WriteData(Render)/ReadData(Capture) to see if pin > position is moving or not. > > Is there a need to implement notification callback of > IOCTL_KS_RESET_STATE, IOCTL_KS_WRITE_STREAM IRP so that my test cases > may get pass, if yes then can anyone please give me some reference for > the implementation of these notification callback ? What exactly > happens when request of IOCTL_KS_WRITE_STREAM IRP comes ?. It seems like you don't really have a good understanding of how your driver is connected. The port class driver handles all of those ioctls for you, and turns them into method calls in your driver. IOCTL_KS_RESET_STATE becomes a call to IMiniportWaveCyclicStream::SetState, which you are already handling. How much have you modified the sample code? Is it possible you aren't returning the IDmaChannel object from NewStream? -- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.