> But how should one go about providing position/clock registers if the > miniport driver isn't aware of the copying of data? The code that writes the buffer (the application) may need to use the position register. Not strictly necessary if it does upon an event based in a predefined position interrupt, but necessary if it is based in a timer interrupt. Furthermore, even if it is based in position interrupt, advanced sw can check the position reg to detect interrupt latency/underrun and/or to determine minimum achievable latency. The timer interrupt based rendering shouldn't be ever used, it was a very bad design mistake that only has disadvantages compared with the position based interrupt. But in Vista support for position interrupt in the driver was optional, leaving you no option other than doing it the wrong way. Fortunately in win7 the mistake was fixed and pos interrupt is mandatory, and since most drivers are common to Vista and Win7, we may assume now that position interrupt must be supported. Anyway the WaveRT architecture optimizes in major ways hardware handling, but I don't think a software only driver would take advantage of it; it would be very tricky to implement (if not impossible to do implement fully), and the result would be actually less efficient than previous driver architectures. WaveRT is great for hardware, but a bad choice for software emulation. Hope that helps, Jose Catena DIGIWAVES S.L. ****************** 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/