I have been working on this virtual audio driver for a while, and I got a lot of helps from here during the development. Now I have problem in using this driver as a audio capture device. Here is the structure of the driver. It is a virtual audio driver, receiving audio data from a user mode application, and send the audio data out as a capture device. Based on MSVAD, the drive sent event to the application in the interval of 10 ms, this was done by m_pTimer, m_pDpc and TimerNotify in MSVAD. As the application received the event, it called DeviceIoControl via IOCTL_KS_PROPERTY to send audio data to driver (10ms data). In the property handler, audio data was passed to m_pvDmaBuffer which was allocated when NewStream was created. Also the dma buffer size is 10 ms. Since it is capture driver, I overwrited CopyTo to do nothing. In CopyFrom, I wrote: { RtlCopyMemory(Destination, m_pvDmaBuffer, ByteCount); } As I ran the driver in GraphEdit, no sound out. But if I did nothing in Copyfrom, there was sound like "sha, sha". What is wrong in copyfrom, or any other error in the structure? Any suggestions are appreciated. Yong