The IDmaChannelSlave interface provides methods for monitoring and controlling a DMA channel for a slave device (as described in Introduction to Adapter Objects). A WaveCyclic port driver implements this interface and exposes it to the WaveCyclic miniport driver. The miniport driver obtains a reference to the port driver's implementation of an IDmaChannelSlave object by calling the port driver's IPortWaveCyclic::NewSlaveDmaChannel method. A miniport driver also has the option of implementing its own IDmaChannelSlave interface if it requires capabilities that are not in the port driver's default implementation (for more information, see Wave Filters). When the port driver calls the miniport driver's NewStream method (for example, IMiniportWaveCyclic::NewStream), the method outputs the miniport driver's IDmaChannelSlave object to the port driver. IDmaChannelSlave inherits from the IDmaChannel interface.
In addition to the methods that IDmaChannelSlave inherits from the IDmaChannel interface, IDmaChannelSlave supports the following methods: