IDMAChannel:IUnknown (Windows CE 5.0)
This interface represents a single channel of data transfer to the media driver. It exposes elementary DMA programming operations representing a generic scatter-gather DMA model with a fixed size DMA transfer queue and low-water notification. Data addresses used at this level are physical; the underlying implementation could use cross-process memory-mapped programmed I/O (PIO), as well. An IDMAChannel interface is usually implemented by the media driver object and accessed through its primary interface, IBitstreamProcessor:IUnknown.
You can obtain a pointer to an IDMAChannel interface by calling the IUnknown::QueryInterface method of a DVD-Video object and specifying the IID_IDMACHANNEL reference identifier.
The IDMAChannel interface exposes the following methods.
Method | Description |
---|---|
IDMAChannel::GetLabel | Gets the textual label for the DMA channel and a globally unique identifier (GUID) for a vendor-specific labeling schema. |
IDMAChannel::GetMaxOutstandingTransfers | Returns the maximum number of outstanding DMA entries that the channel can hold along with the maximum transfer size. |
IDMAChannel::GetPendingTransferCount | Returns the current number of incomplete DMA transfers including any that are in progress. |
IDMAChannel::SetDataNotificationThreshold | Sets up a low-water threshold for signaling when the number of pending transfer requests drops to a certain point. |
IDMAChannel::SetThresholdCallback | Sets the threshold callback. |
IDMAChannel::RequestTransfer | Sets up the DMA transfer of a contiguous memory segment with a given physical address and length. |
IDMAChannel::AbortAllTransfers | Aborts the DMA transfer in progress and flushes the transfer queue. |
IDMAChannel::OnDiscontinuity | This method is to be called between series of DMA transfers if the user-level transfer intends to notify the driver of any discontinuity in the data stream. |
The IDMAChannel interface, like all COM interfaces, inherits the IUnknown interface methods. The IUnknown interface supports the following three methods:
Requirements
OS Versions: Windows CE .NET 4.0 and later.
Header: Dvddrvr.idl.
See Also
Send Feedback on this topic to the authors