Hi Tim, Thank you very much for your reply. I found ways to pass data from one filter to the pin attached to another filter, defining a globle pointer to the pin created. But as I tested the drive in graphedit as an audio capture device, there is no sound out. The virtual driver is based on MSVAD, and the application sent audio data to driver through property set. In MSVAD, audio data buffer is allocated to m_pvDmaBuffer through CMiniportWaveCyclicStreamMSVAD::AllocateBuffer(), I copied the audio data to m_pvDmaBuffer through RtlCopyMemory(). I searched on line, and it was said copyto and copyfrom should be used to manipulate audio data, but I do not know how to use copyto and copyfrom. Could you please give me a hint? Thank you. Yong