I am trying to modify sysvad to send audio to an external hd audio driver.
Basically, the user mode client writes audio to the sysvad buffer and after
some processing, the audio is sent to the external driver. I am
sending KSPROPERTY_RTAUDIO_BUFFER to the external driver
from CMiniportWaveRTStream::Init. I am assuming the allocated DMA buffer
gets mapped to the address space of the user mode client that instantiated
the sysvad pin. As a result I am unable to write to this buffer from
the TimerNotifyRT callback. Is there a way to remap this buffer to kernel
address space? I don't have its MDL otherwise I could have
called MapAllocatedPages. I also couldn't get sysvad to link with
MmGetPhysicalAddress. Any help is appreciated!