The PcNewDmaChannel function creates a new DMA-channel object. This function is obsolete; for more information, see the following comments.
PORTCLASSAPI NTSTATUS PcNewDmaChannel( PDMACHANNEL *OutDmaChannel, PUNKNOWN OuterUnknown, POOL_TYPE PoolType, PDEVICE_DESCRIPTION DeviceDescription, PDEVICE_OBJECT DeviceObject );
Output pointer for the DMA-channel object created by this function. This parameter points to a caller-allocated pointer variable into which the function outputs a reference to the newly created IDmaChannel object. Specify a valid, non-NULL pointer value for this parameter.
Pointer to the IUnknown interface of an object that needs to aggregate the object. Unless aggregation is required, set this parameter to NULL.
Specifies the type of storage pool from which the object is to be allocated. This is a POOL_TYPE enumeration value. Specify a nonpaged pool type for this parameter.
Pointer to a description of the physical device for which the caller is requesting a DMA object. This parameter points to a structure of type DEVICE_DESCRIPTION.
Pointer to the device object for the physical adapter device. This parameter points to a system structure of type DEVICE_OBJECT.
PcNewDmaChannel returns STATUS_SUCCESS if the call was successful. Otherwise, it returns an appropriate error code.
PcNewDmaChannel is obsolete. For all new audio drivers, use one of the following IPortWave Xxx::NewXxxDmaChannel methods in place of PcNewDmaChannel:
For the sake of backward compatibility, the PortCls system driver will continue to support PcNewDmaChannel, and existing drivers can continue to use this function.
Specify the PoolType parameter to be one of the nonpaged pool types defined in the POOL_TYPE enumeration. The DMA-channel object must not reside in paged memory because several of the methods in the IDmaChannel interface can be called from IRQL DISPATCH_LEVEL.
The OutDmaChannel and OuterUnknown parameters follow the reference-counting conventions for COM objects.
|Minimum supported client||Obsolete. For all new audio drivers, use a IPortWaveXxx::NewXxxDmaChannel method instead. The PortCls system driver implements the PcNewDmaChannel function in Microsoft Windows 98/Me and in Windows 2000 and later operating systems.|
|Header||portcls.h (include Portcls.h)|