Skip to content

Latest commit

 

History

History
125 lines (74 loc) · 5.67 KB

nf-portcls-iportwavecyclic-newslavedmachannel.md

File metadata and controls

125 lines (74 loc) · 5.67 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NF:portcls.IPortWaveCyclic.NewSlaveDmaChannel
IPortWaveCyclic::NewSlaveDmaChannel (portcls.h)
The NewSlaveDmaChannel method creates a new instance of a subordinate DMA channel.
audio\iportwavecyclic_newslavedmachannel.htm
audio
05/08/2018
IPortWaveCyclic::NewSlaveDmaChannel
IPortWaveCyclic interface [Audio Devices],NewSlaveDmaChannel method, IPortWaveCyclic.NewSlaveDmaChannel, IPortWaveCyclic::NewSlaveDmaChannel, NewSlaveDmaChannel, NewSlaveDmaChannel method [Audio Devices], NewSlaveDmaChannel method [Audio Devices],IPortWaveCyclic interface, audio.iportwavecyclic_newslavedmachannel, audmp-routines_63146fe2-162d-4457-9dda-807f1d3931ac.xml, portcls/IPortWaveCyclic::NewSlaveDmaChannel
portcls.h
Portcls.h
Universal
PASSIVE_LEVEL
Windows
IPortWaveCyclic::NewSlaveDmaChannel
portcls/IPortWaveCyclic::NewSlaveDmaChannel
APIRef
kbSyntax
COM
portcls.h
IPortWaveCyclic::NewSlaveDmaChannel

IPortWaveCyclic::NewSlaveDmaChannel

-description

The NewSlaveDmaChannel method creates a new instance of a subordinate DMA channel.

-parameters

-param DmaChannel [out]

Pointer to a caller-allocated pointer variable into which the method writes a pointer to the new DMA-channel object's IDmaChannelSlave interface. Specify a valid, non-NULL pointer value for this parameter.

-param OuterUnknown [in]

Pointer to the IUnknown interface of an object that needs to aggregate the DMA-channel object. This parameter is optional. If aggregation is not required, specify this parameter as NULL.

-param ResourceList [in]

Pointer to an IResourceList object. This resource list contains the resource that describes the DMA channel.

-param DmaIndex [in]

Index in the resource list of the DMA-channel descriptor. The function uses this value as a call parameter to the ResourceList object's IResourceList::FindxxxEntry method.

-param MaximumLength [in]

Maximum length in bytes of the cyclic DMA buffer that will be associated with this channel.

-param DemandMode [in]

Indicates whether the device associated with the DMA channel supports demand mode.

-param DmaSpeed [in]

The DMA speed can be specified as one of the following DMA_SPEED enumeration values: Compatible, TypeA, TypeB, TypeC, or TypeF.

-returns

NewSlaveDmaChannel returns STATUS_SUCCESS if the call was successful. Otherwise, the method returns an appropriate error code.

-remarks

Note

Microsoft supports a diverse and inclusive environment. This article contains references to terminology that the Microsoft style guide for bias-free communication recognizes as exclusionary. The word or phrase is used in this article for consistency because it currently appears in the software. When the software is updated to remove the language, this article will be updated to be in alignment.

Parameters MaximumLength, DemandMode, and DmaSpeed are similar in meaning to the members of the DEVICE_DESCRIPTION structure with the same names.

A WaveCyclic device that lacks DMA-hardware capabilities is referred to as a subordinate device. In contrast, a master device has built-in bus-mastering DMA hardware. A subordinate device has to rely on the system DMA controller to perform any data transfers that it requires. The NewSlaveDmaChannel method creates a DMA-channel object for a subordinate device. To create a DMA-channel object for a master device, call the IPortWaveCyclic::NewMasterDmaChannel method instead. The sb16 sample audio driver in the Microsoft Windows Driver Kit (WDK) is an example of a WaveCyclic miniport driver for a subordinate device. For more information about master and subordinate devices, see IDmaChannel and IDmaChannelSlave.

The DmaChannel, OuterUnknown, and ResourceList parameters follow the reference-counting conventions for COM objects.

-see-also

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCyclic

IPortWaveCyclic::NewMasterDmaChannel

IResourceList