内存管理函数 您所在的位置:网站首页 撤销权限并释放空间 内存管理函数

内存管理函数

2023-07-22 12:16| 来源: 网络整理| 查看: 265

内存管理函数 项目 06/12/2023 常规内存函数 数据执行防护函数 文件映射函数 AWE 函数 堆函数 虚拟内存函数 全局和本地函数 错误的内存函数 Enclave 函数 ATL thunk 函数 已过时的函数 常规内存函数 函数 说明 AddSecureMemoryCacheCallback 注册在释放安全内存范围或更改其保护时要调用的回调函数。 CopyMemory 将内存块从一个位置复制到另一个位置。 CreateMemoryResourceNotification 创建内存资源通知对象。 FillMemory 使用指定的值填充内存块。 GetLargePageMinimum 检索大页面的最小大小。 GetPhysicallyInstalledSystemMemory 检索实际安装在计算机上的 RAM 量。 GetSystemFileCacheSize 检索系统缓存的工作集的当前大小限制。 GetWriteWatch 检索已写入虚拟内存区域中的页面的地址。 GlobalMemoryStatusEx 获取有关系统当前物理内存和虚拟内存使用情况的信息。 MoveMemory 将内存块从一个位置移到另一个位置。 QueryMemoryResourceNotification 检索指定内存资源对象的状态。 RemoveSecureMemoryCacheCallback 取消注册以前使用 AddSecureMemoryCacheCallback 函数注册的回调函数。 ResetWriteWatch 重置虚拟内存区域的写入跟踪状态。 SecureMemoryCacheCallback 应用程序定义的函数,在释放安全内存范围或更改其保护时调用。 SecureZeroMemory 用零填充内存块。 SetSystemFileCacheSize 限制文件系统缓存的工作集的大小。 ZeroMemory 用零填充内存块。 数据执行防护函数

这些函数与 数据执行防护 (DEP) 一起使用。

函数 说明 GetProcessDEPPolicy 检索进程的 DEP 设置。 GetSystemDEPPolicy 检索系统的 DEP 设置。 SetProcessDEPPolicy 更改进程的 DEP 设置。 文件映射函数

这些函数用于 文件映射。

函数 说明 CreateFileMappingA 为指定文件创建或打开命名或未命名的文件映射对象。 CreateFileMappingW 为指定文件创建或打开命名或未命名的文件映射对象。 CreateFileMapping2 为指定文件创建或打开命名或未命名的文件映射对象。 可以指定物理内存的首选 NUMA 节点作为扩展参数;请参阅 ExtendedParameters 参数。 CreateFileMappingFromApp 从 Windows 应用商店应用为指定文件创建或打开命名或未命名的文件映射对象。 CreateFileMappingNuma 为指定文件创建或打开命名或未命名的文件映射对象,并为物理内存指定 NUMA 节点。 FlushViewOfFile 将文件映射视图中的字节范围写入磁盘。 GetMappedFileName 检查指定的地址是否位于指定进程的地址空间中的内存映射文件中。 如果是这样,函数将返回内存映射文件的名称。 MapViewOfFile 将映射的文件视图映射到调用进程的地址空间中。 MapViewOfFile2 将文件视图或页面文件支持的节映射到指定进程的地址空间中。 MapViewOfFile3 将文件视图或页面文件支持的节映射到指定进程的地址空间中。 MapViewOfFile3FromApp 将映射的文件视图映射到 Windows 应用商店应用中调用进程的地址空间。 MapViewOfFileEx 将映射的文件视图映射到调用进程的地址空间中。 调用方可以选择为视图指定建议的内存地址。 MapViewOfFileExNuma 将映射的文件视图映射到调用进程的地址空间,并指定物理内存的 NUMA 节点。 MapViewOfFileFromApp 将映射的文件视图映射到 Windows 应用商店应用中调用进程的地址空间。 MapViewOfFileNuma2 将文件视图或页面文件支持的节映射到指定进程的地址空间中。 OpenFileMapping 打开命名的文件映射对象。 OpenFileMappingFromApp 打开命名的文件映射对象。 UnmapViewOfFile 从调用进程的地址空间中取消映射文件的映射视图。 UnmapViewOfFile2 取消映射以前映射的文件或页面文件支持的节的视图。 UnmapViewOfFileEx 取消映射以前映射的文件或页面文件支持的节的视图。 AWE 函数

这些是 AWE 函数。

函数 说明 AllocateUserPhysicalPages 分配在进程的任何 AWE 区域中映射和取消映射的物理内存页。 AllocateUserPhysicalPagesNuma 分配在进程的任何 AWE 区域中映射和取消映射的物理内存页,并为物理内存指定 NUMA 节点。 FreeUserPhysicalPages 释放以前使用 AllocateUserPhysicalPages 分配的物理内存页。 MapUserPhysicalPages 在 AWE 区域中的指定地址映射以前分配的物理内存页。 MapUserPhysicalPagesScatter 在 AWE 区域中的指定地址映射以前分配的物理内存页。 堆函数

这些是 堆函数。

函数 说明 GetProcessHeap 获取调用进程的堆的句柄。 GetProcessHeaps 获取对调用进程有效的所有堆的句柄。 HeapAlloc 从堆中分配内存块。 HeapCompact 在堆上合并相邻的可用内存块。 HeapCreate 创建堆对象。 HeapDestroy 销毁指定的堆对象。 HeapFree 释放从堆中分配的内存块。 HeapLock 尝试获取与指定堆关联的锁。 HeapQueryInformation 检索有关指定堆的信息。 HeapReAlloc 重新分配堆中的内存块。 HeapSetInformation 设置指定堆的堆信息。 HeapSize 检索从堆分配的内存块的大小。 HeapUnlock 释放与指定堆关联的锁的所有权。 HeapValidate 尝试验证指定的堆。 HeapWalk 枚举指定堆中的内存块。 虚拟内存函数

这些是 虚拟内存函数。

函数 说明 DiscardVirtualMemory 放弃一系列内存页的内存内容,而不取消内存。 已丢弃内存的内容未定义,必须由应用程序重写。 OfferVirtualMemory 指示应用程序不再需要一系列内存页中包含的数据,系统可以在必要时放弃这些数据。 PrefetchVirtualMemory 将虚拟地址范围预提取到物理内存中。 QueryVirtualMemoryInformation 返回有关指定进程的虚拟地址空间中的一页或一组页面的信息。 ReclaimVirtualMemory 使用 OfferVirtualMemory 回收提供给系统的一系列内存页。 SetProcessValidCallTargets 为 CFG 提供有效的间接调用目标列表,并指定是否应将其标记为有效。 VirtualAlloc 在调用进程的虚拟地址空间中保留或提交页面区域。 VirtualAlloc2 在指定进程的虚拟地址空间中保留、提交或更改内存区域的状态。 函数将它分配的内存初始化为零。 VirtualAlloc2FromApp 保留、提交或更改调用进程的虚拟地址空间中页面区域的状态。 此函数分配的内存会自动初始化为零。 VirtualAllocEx 在指定进程的虚拟地址空间中保留或提交页面区域。 VirtualAllocExNuma 在指定进程的虚拟地址空间中保留或提交内存区域,并为物理内存指定 NUMA 节点。 VirtualAllocFromApp 保留、提交或更改调用进程的虚拟地址空间中页面区域的状态。 此函数分配的内存会自动初始化为零。 VirtualFree 释放或取消提交调用进程的虚拟地址空间中的页面区域。 VirtualFreeEx 释放或取消提交指定进程的虚拟地址空间中的内存区域。 VirtualLock 将进程的虚拟地址空间的指定区域锁定到物理内存中。 VirtualProtect 更改调用进程的虚拟地址空间中已提交页面区域的访问保护。 VirtualProtectEx 更改调用进程的虚拟地址空间中已提交页面区域的访问保护。 VirtualProtectFromApp 更改调用进程的虚拟地址空间中已提交页面区域的保护。 VirtualQuery 提供有关调用进程的虚拟地址空间中的一系列页面的信息。 VirtualQueryEx 提供有关调用进程的虚拟地址空间中的一系列页面的信息。 VirtualUnlock 解锁进程的虚拟地址空间中的指定页范围。 全局和本地函数

另请参阅 全局函数和本地函数。 提供这些函数是为了与 16 位 Windows 兼容,并与动态数据交换 (DDE) 、剪贴板函数和 OLE 数据对象一起使用。 除非文档专门指出应使用全局或本地函数,否则新应用程序应使用相应的 堆函数 和 GetProcessHeap 返回的句柄。 对于与全局或本地函数等效的功能,请将堆函数的 dwFlags 参数设置为 0。

函数 说明 相应的堆函数 GlobalAlloc、 LocalAlloc 从堆中分配指定的字节数。 HeapAlloc GlobalDiscard、 LocalDiscard 放弃指定的全局内存块。 不适用。 GlobalFlags、 LocalFlags 返回有关指定全局内存对象的信息。 不适用。 使用 HeapValidate 验证堆。 GlobalFree、 LocalFree 释放指定的全局内存对象。 HeapFree GlobalHandle、 LocalHandle 检索与指向全局内存块的指定指针关联的句柄。 此函数应仅与需要它的 OLE 和剪贴板函数一起使用。 不适用。 GlobalLock、 LocalLock 锁定全局内存对象并返回指向对象内存块的第一个字节的指针。 不适用。 GlobalReAlloc、 LocalReAlloc 更改指定全局内存对象的大小或属性。 HeapReAlloc GlobalSize、 LocalSize 检索指定全局内存对象的当前大小。 HeapSize GlobalUnlock、 LocalUnlock 递减与内存对象关联的锁计数。 此函数应仅与需要它的 OLE 和剪贴板函数一起使用。 不适用。 内存函数错误 函数 说明 BadMemoryCallbackRoutine 使用 RegisterBadMemoryNotification 函数注册的应用程序定义的函数,在检测到一个或多个错误的内存页时调用该函数。 GetMemoryErrorHandlingCapabilities 获取系统的内存错误处理功能。 RegisterBadMemoryNotification 注册在检测到一个或多个不良内存页时调用的内存错误通知。 UnregisterBadMemoryNotification 关闭指定的错误内存通知句柄。 Enclave 函数 函数 说明 CreateEnclave 创建新的未初始化 enclave。 enclave 是应用程序地址空间内代码和数据的独立区域。 只有 enclave 中运行的代码才能访问同一 enclave 中的数据。 InitializeEnclave 初始化使用数据创建并加载的 enclave。 IsEnclaveTypeSupported 检索是否支持指定的 enclave 类型。 LoadEnclaveData 将数据加载到通过调用 CreateEnclave 创建的未初始化 enclave 中。 ATL thunk 函数 函数 说明 AtlThunk_AllocateData 为 ATL thunk 分配内存中的空间。 AtlThunk_DataToCode 返回对应于 AtlThunkData_t 参数的可执行函数。 AtlThunk_FreeData 释放与 ATL thunk 关联的内存。 AtlThunk_InitData 初始化 ATL thunk。 已过时的函数

提供这些函数只是为了与 16 位版本的 Windows 兼容:

IsBadCodePtr IsBadReadPtr IsBadStringPtr IsBadWritePtr

下面的函数可能会返回不正确的信息,不应使用。 请改用 GlobalMemoryStatusEx 函数。

GlobalMemoryStatus


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有