阅读:1614回复:2
MmGetSystemAddressForMdl 与 MmGetSystemAddressForMdlSafe 的区别及其他
请问两者在功能上有什么区别?
我看了两者的宏实现(因为这两个函数其实是两个宏来实现的) #define MmGetSystemAddressForMdl(MDL) \\ (((MDL)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA | \\ MDL_SOURCE_IS_NONPAGED_POOL)) ? \\ ((MDL)->MappedSystemVa) : \\ (MmMapLockedPages((MDL),KernelMode))) #define MmGetSystemAddressForMdlSafe(MDL, PRIORITY) \\ (((MDL)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA | \\ MDL_SOURCE_IS_NONPAGED_POOL)) ? \\ ((MDL)->MappedSystemVa) : \\ (MmMapLockedPagesSpecifyCache((MDL), \\ KernelMode, \\ MmCached, \\ NULL, \\ FALSE, \\ (PRIORITY)))) P.S.这两个“函数”其实是两个宏大家应该都知道吧 :D |
|
沙发#
发布于:2003-10-21 17:35
看看MSDN不就一目了然了吗,里面讲的够详细的了,刚刚用到过!
|
|
板凳#
发布于:2003-10-21 18:06
看看MSDN不就一目了然了吗,里面讲的够详细的了,刚刚用到过! 什么都想到了,竟然忘了去看MSDN! 不好意思 :P [编辑 - 10/21/03 by norsd] |
|