Jungo WinDriver  
Official Documentation

◆ WDC_DMATransactionContigInit()

DWORD DLLCALLCONV WDC_DMATransactionContigInit ( _In_ WDC_DEVICE_HANDLE  hDev,
_Outptr_ PVOID *  ppBuf,
_In_ DWORD  dwOptions,
_In_ DWORD  dwDMABufSize,
_Outptr_ WD_DMA **  ppDma,
_In_ WDC_INTERRUPT_PARAMS *  pInterruptParams,
_In_ DWORD  dwAlignment 
)

Initializes the transaction, allocates a contiguous DMA buffer, locks it in physical memory, and returns mappings of the allocated buffer to physical address space and to user-mode and kernel virtual address spaces.

Parameters
[in]hDevHandle to a WDC device, returned by WDC_xxxDeviceOpen()
[out]ppBufPointer to a pointer to be filled by the function with the user-mode mapped address of the allocated DMA buffer.
[in]dwOptionsA bit mask of any of the following flags (defined in an enumeration in windrvr.h): DMA_FROM_DEVICE: Synchronize the DMA buffer for transfers from the device to memory. DMA_TO_DEVICE: Synchronize the DMA buffer for transfers from memory to the device. DMA_TO_FROM_DEVICE: Synchronize the DMA buffer for transfers in both directions i.e., from the device to memory and from memory to the device (<=> DMA_FROM_DEVICE | DMA_TO_DEVICE). DMA_ALLOW_CACHE: Enables caching for the allocated DMA memory. If not set, memory is allocated as non-cached. If set, memory is cached, and the transaction automatically handles cache flushing and invalidation before and after the transfer. On Windows, this flag is ignored, the memory is always cached and managed automatically. DMA_ALLOW_64BIT_ADDRESS: Allow allocation of 64-bit DMA addresses.
[in]dwDMABufSizeThe size (in bytes) of the DMA buffer.
[out]ppDmaPointer to a pointer to a DMA buffer information structur, which is allocated by the function. The pointer to this structure (*ppDma) should be passed to WDC_DMATransactionUninit() when the DMA buffer is no longer needed.
[in]pInterruptParamsWDC_DMATransactionContigInit() invokes WDC_IntEnable() with the relevant parameters from the structure (WDC_INTERRUPT_PARAMS). No action will be taken if this parameter is NULL.
[in]dwAlignmentThis value specifies the alignment requirement for the contiguous buffer.
Returns
Returns WD_STATUS_SUCCESS (0) on success, or an appropriate error code otherwise

For more detailed usage of the WDC_DMA Transactions functions, please refer to 11.3. Performing Direct Memory Access (DMA) transactions