Winapi NtAllocateVirtualMemoryEx定义

Winapi NtAllocateVirtualMemoryEx定义,winapi,nt-native-api,Winapi,Nt Native Api,我通过连接到内存API来实现一个内存管理工具,当我来到NtalocateVirtualMemoryEx时,我试图在google上找到它的定义,但什么也没找到,尽管NtalocateVirtualMemory在上有明确的定义,有人知道它的详细信息吗?ntifs.h中定义的ZwAllocateVirtualMemoryEx 事实上,所有api都有与相同的用法。这是ZwAllocateVirtualMemoryEx上唯一的薄壳 有趣的是,memoryapi.h中定义的VirtualAlloc2在条件下

我通过连接到内存API来实现一个内存管理工具,当我来到NtalocateVirtualMemoryEx时,我试图在google上找到它的定义,但什么也没找到,尽管NtalocateVirtualMemory在上有明确的定义,有人知道它的详细信息吗?

ntifs.h中定义的ZwAllocateVirtualMemoryEx

事实上,所有api都有与相同的用法。这是ZwAllocateVirtualMemoryEx上唯一的薄壳

有趣的是,
memoryapi.h
中定义的
VirtualAlloc2
在条件下

#if (NTDDI_VERSION >= NTDDI_WIN10_RS4)
#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
但是
ZwAllocateVirtualMemoryEx
声明了条件

#if (NTDDI_VERSION >= NTDDI_WIN10_RS4)
#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
但是,这种情况中至少有一种是错误的-因为
VirtualAlloc2
调用
ZwAllocateVirtualMemoryEx
-如果
VirtualAlloc2
可用-
ZwAllocateVirtualMemoryEx
也可用

还有一个错误是:

  • 库内核32.lib
  • DLL内核32.DLL
真正的
VirtualAlloc2
不是由kernel32.dll导出的,也不是在kernel32.lib中定义的


需要使用mincore.lib或mmos.lib从导入此api(现在解析为kernelbase.dll)

本机api不是公共编程接口。不要期望找到ntifs.h中定义的documentation.ZwAllocateVirtualMemoryEx