[an error occurred while processing this directive]
|
Для этого есть
PMDL
MmCreateMdl(
IN PMDL MemoryDescriptorList, /* optional */
IN PVOID Base,
IN ULONG Length
);
base - это виртуальный адрес буфера. Его делают для DMA при помощи MmAllocateContiguousMemory или MmAllocateNonCachedMemory.
Еще MDL можно сделать через MmBuildMdlForNonPagedPool, если требуется именно область из non-paged pool.
E-mail: info@telesys.ru