IDmaChannelSlave interface (portcls.h)

The IDmaChannelSlave interface provides methods for monitoring and controlling a DMA channel for a subordinate 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.

For more information, see DMA Channel Objects.

In addition to the methods that are inherited from IUnknown interface, IDmaChannelSlave also inherits from IDmaChannel.

Inheritance

The IDmaChannelSlave interface inherits from the IDmaChannel interface.

Methods

The IDmaChannelSlave interface has these methods.

 
IDmaChannelSlave::ReadCounter

The ReadCounter method reads the counter of a subordinate DMA object.
IDmaChannelSlave::Start

The Start method starts a subordinate DMA object.
IDmaChannelSlave::Stop

The Stop method stops a subordinate DMA object that was started by a previous call to IDmaChannelSlave::Start
IDmaChannelSlave::WaitForTC

The WaitForTC method waits for the DMA-transfer terminal count to complete, or it times out if the time-out interval expires.

Requirements

Requirement Value
Target Platform Windows
Header portcls.h