I need help to get physical page for allocated buffer in user space for DMA transaction. I want to control DMA from user space .Currently I am using WDF_COMMON_BUFFER inside driver. I am copying user buffer data to common buffers virtual address and then I am passing this logical address to user space. After that this PHYSICAL_ADDRESS is used for preparing descriptor for DMA transaction. Now I fill that this is costliest operation.
Is there any way that I can Lock this memory in physical page and use this physical page for DMA transaction so I don't need to copy every time while I transfer data to driver. I required similar functionality like WD_DMALock().