NewMasterDmaChannel method creates a new instance of a bus-master DMA channel.
NTSTATUS NewMasterDmaChannel( PDMACHANNEL *OutDmaChannel, PUNKNOWN OuterUnknown, POOL_TYPE PoolType, PRESOURCELIST ResourceList, BOOLEAN ScatterGather, BOOLEAN Dma32BitAddresses, BOOLEAN Dma64BitAddresses, BOOLEAN IgnoreCount, DMA_WIDTH DmaWidth, DMA_SPEED DmaSpeed, ULONG MaximumLength, ULONG DmaPort );
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.
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 the miniport driver's resource list, which is an IResourceList object. This parameter is optional and can be specified as NULL. The
NewMasterDmaChannel method currently makes no use of this parameter.
Requests that the DMA channel support scatter/gather DMA. Always set this parameter to TRUE.
Specifies the use of 32-bit addresses for DMA operations.
Specifies the use of 64-bit addresses for DMA operations.
Indicates whether to ignore the DMA controller's transfer counter. Set to TRUE if the DMA controller in this platform does not maintain an accurate transfer counter, and therefore requires a workaround.
Not used. Set to (DMA_WIDTH)(-1).
Not used. Set to (DMA_SPEED)(-1).
Maximum number of bytes in the buffer that will be associated with this DMA channel.
Not used. Set to 0.
NewMasterDmaChannel returns STATUS_SUCCESS if the call was successful. Otherwise, it returns an appropriate error code.
The definitions of the call parameters for the
NewMasterDmaChannel method are similar to those for the members of the DEVICE_DESCRIPTION structure with the same names.
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 DmaChannel, OuterUnknown, and ResourceList parameters follow the reference-counting conventions for COM objects.
|Header||portcls.h (include Portcls.h)|