Share via


Direct Memory Access Abstraction PDD Functions (Windows Embedded CE 6.0)

1/6/2010

The following table shows the Direct Memory Access (DMA) abstraction platform dependent driver (PDD) functions.

Programming element Description

LPGetDmaAdapter

This function allows the PDD to update the CE_DMA_ADAPTER structure.

LPAllocateChannel

This function is used by the PDD to create a DMA_PDD_CHANNEL_CONTEXT structure.

LPFreeDmaChannel

This function frees a DMA_PDD_CHANNEL_CONTEXT structure created by LPAllocateChannel.

LPPowerMgmtCallback

This function is a callback function used when the system is suspended and when it resumes.

LPOALAllocateCommonBuffer

This function allocates a DMA adapter specific driver. A similar function is HalAllocateCommonBuffer.

LPOALFreeCommonBuffer

This function frees a DMA adapter specific driver. A similar function is HalFreeCommonBuffer.

LPPowerOnReset

This PDD function is called during power on reset.

LPIsChannelSuitable

This function determines if the DMA channel requested by the user is suitable.

LPUpdateFlags

This function updates the transfer flags required by the user and masks any flags the PDD does not support.

LPIsPhysAddrSupported

This function checks whether the physical address specified for the DMA transfer is usable.

LPCanArmDMA

This function is used by the model device driver (MDD) to determine whether a DMA transfer can be armed.

LPArmTransfer

This function arms a DMA transfer.

LPTerminateTransfer

This function terminates a DMA transfer that was armed by the PDD.

LPStartDmaTransfer

This function starts an armed DMA transfer, if the DMA transfer is not marked as auto start.

LPPollingForTransferDone

This function polls to determine if a DMA transfer is complete.

LPPollingTransferRemaining

This function polls to determine the current status of a DMA transfer.

LPCreateDmaPDDTransfer

This function creates a DMA_PDD_TRANFER_CONTEXT structure. This entry is optional. If it exists, it is called when DMAIssueTransfer is called by the user.

LPCreateRawDmaPDDTransfer

This function creates a vendor specific DMA transfer. This entry is only required when the PDD supports vendor specific DMA transfers.

LPFreeDmaTransfer

This function frees the DMA_PDD_TRANFER_CONTEXT structure created by LPCreateDmaPDDTransfer. This entry is optional.

LPDMAPDDTransferIoControl

This function is called when the user issues a call to DMARawTransferControl.

See Also

Other Resources

Direct Memory Access Abstraction Reference