Hello All, I have implemented WavePCI in my driver. My mapping calls of GetMapping () and ReleaseMapping () are working fine. Following are thing which I have done. 1. I created DmaChannel through NewMasterDmaChannel(), this works fine gives DmaChannel object. Passed as out parameter to NewStream (). 2. Allocated tables through AllocateCommonBuffer() call. 3. Created a timer object , DPC object which calls DPC after every interval(e.g. 10ms) and wrote a DPC in which I am calling Notify() of PortCls. 4. Methods of WavePCI interface are implemented one of them is Service () which is invoked after above Notfiy() call by PortCls. 5. This Service() gives call to ReleaseMapping()/GetMapping() methods saves their out parameters in a table as ac'97 does. This is implemented as per MSDN documentation. Now the Driver runs continuously and consumes so many CPU cycles, the system slows down. But if I only obtain possible mappings in first GetMapping () call that is no MappingAvailable () then it runs smoothly. But still I do not get any audio only noise is produced. And one more thing I do get some value in VirtAddr pointer of GetMapping () . I also tried with common table between Capture / Renderer streams, but that didn't help. With IDmaChannel channel implementation also I tried, and passed casted stream object through Newstream(), but that also didn't helped. Is there something else also that in WavePCI it needs to be implemented. If anyone has any suggestion about then please reply ? -- Thanks and regards Pritesh