Поделиться через


Функции управления памятью

Общие функции памяти

Function Description
AddSecureMemoryCacheCallback Регистрирует функцию обратного вызова, вызываемую при освобождении защищенного диапазона памяти или изменении ее защиты.
CopyDeviceMemory Копирует память из одного расположения в другое без помех из оптимизации компилятора в ситуациях, когда разработчику необходимо дополнительно убедиться, что при доступе к памяти устройства не будут создаваться ошибки выравнивания.
CopyMemory Копирует блок памяти из одного расположения в другое.
CopyVolatileMemory Копирует содержимое блока памяти источника в целевой блок памяти.
CreateMemoryResourceNotification Создает объект уведомления ресурса памяти.
FillDeviceMemory Задает содержимое буфера без вмешательства в оптимизацию компилятора в ситуациях, когда разработчику необходимо дополнительно убедиться, что при доступе к памяти устройства не будут создаваться ошибки выравнивания.
FillMemory Заполняет блок памяти указанным значением.
FillVolatileMemory Заполняет блок памяти указанным значением заливки.
GetLargePageMinimum Извлекает минимальный размер большой страницы.
GetPhysicallyInstalledSystemMemory Извлекает объем ОЗУ, который физически установлен на компьютере.
GetSystemFileCacheSize Извлекает текущие ограничения размера для рабочего набора системного кэша.
GetWriteWatch Извлекает адреса страниц, записанных в регион виртуальной памяти.
GlobalMemoryStatusEx Получает сведения о текущем использовании системы как физической, так и виртуальной памяти.
MoveMemory Перемещает блок памяти из одного расположения в другое.
MoveVolatileMemory Копирует содержимое блока исходной памяти в блок памяти назначения и поддерживает перекрывающиеся блоки исходной и целевой памяти.
QueryMemoryResourceNotification Извлекает состояние указанного объекта ресурса памяти.
RemoveSecureMemoryCacheCallback Отменяет регистрацию функции обратного вызова, которая ранее была зарегистрирована в функции AddSecureMemoryCacheCallback.
ResetWriteWatch Сбрасывает состояние отслеживания записи для региона виртуальной памяти.
SecureMemoryCacheCallback Определяемая приложением функция, которая вызывается при освобождении защищенного диапазона памяти или ее защиты.
SecureZeroMemory Заполняет блок памяти нулями.
SecureZeroMemory2 Заполняет блок памяти нулями таким образом, чтобы обеспечить безопасность.
SetSystemFileCacheSize Ограничивает размер рабочего набора для кэша файловой системы.
ZeroDeviceMemory Задает содержимое буфера на нули без вмешательства из оптимизации компилятора в ситуациях, когда разработчику необходимо дополнительно убедиться, что при доступе к памяти устройства не будут создаваться ошибки выравнивания.
ZeroMemory Заполняет блок памяти нулями.
ZeroVolatileMemory Заполняет блок памяти нулями.

Функции предотвращения выполнения данных

Эти функции используются при предотвращении выполнения данных (DEP).

Function Description
GetProcessDEPPolicy Извлекает параметры DEP для процесса.
GetSystemDEPPolicy Извлекает параметры DEP для системы.
SetProcessDEPPolicy Изменяет параметры DEP для процесса.

Функции сопоставления файлов

Эти функции используются в сопоставлении файлов.

Function Description
CreateFileMappingA Создает или открывает именованный или неименованный объект сопоставления файлов для указанного файла.
CreateFileMappingW Создает или открывает именованный или неименованный объект сопоставления файлов для указанного файла.
CreateFileMapping2 Создает или открывает именованный или неименованный объект сопоставления файлов для указанного файла. Вы можете указать предпочтительный узел NUMA для физической памяти в качестве расширенного параметра; см. параметр ExtendedParameters .
CreateFileMappingFromApp Создает или открывает именованный или неименованный объект сопоставления файлов для указанного файла из приложения Магазина Windows.
CreateFileMappingNuma Создает или открывает именованный или неименованный объект сопоставления файлов для указанного файла и задает узел NUMA для физической памяти.
FlushViewOfFile Записывает на диск диапазон байтов в сопоставленном представлении файла.
GetMappedFileName Проверяет, находится ли указанный адрес в сопоставленном с памятью файле в адресном пространстве указанного процесса. Если да, функция возвращает имя сопоставленного с памятью файла.
MapViewOfFile Карты представление сопоставления файлов в адресное пространство вызывающего процесса.
MapViewOfFile2 Карты представление файла или раздела с поддержкой pagefile в адресное пространство указанного процесса.
MapViewOfFile3 Карты представление файла или раздела с поддержкой pagefile в адресное пространство указанного процесса.
MapViewOfFile3FromApp Карты представление сопоставления файлов в адресное пространство вызывающего процесса из приложения Магазина Windows.
MapViewOfFileEx Карты представление сопоставления файлов в адресное пространство вызывающего процесса. Вызывающий объект может при необходимости указать предлагаемый адрес памяти для представления.
MapViewOfFileExNuma Карты представление сопоставления файлов в адресное пространство вызывающего процесса и указывает узел NUMA для физической памяти.
MapViewOfFileFromApp Карты представление сопоставления файлов в адресное пространство вызывающего процесса из приложения Магазина Windows.
MapViewOfFileNuma2 Карты представление файла или раздела с поддержкой pagefile в адресное пространство указанного процесса.
OpenFileMapping Открывает именованный объект сопоставления файлов.
OpenFileMappingFromApp Открывает именованный объект сопоставления файлов.
UnmapViewOfFile Распакует сопоставленное представление файла из адресного пространства вызывающего процесса.
UnmapViewOfFile2 Распакует ранее сопоставленное представление файла или раздела, поддерживаемого файлом страницы.
UnmapViewOfFileEx Распакует ранее сопоставленное представление файла или раздела, поддерживаемого файлом страницы.

Функции AWE

Это функции AWE.

Function Description
ВыделениеUserPhysicalPages Выделяет страницы физической памяти для сопоставления и отмены сопоставления в любом регионе AWE процесса.
AllocateUserPhysicalPagesNuma Выделяет страницы физической памяти для сопоставления и отмены сопоставления в любом регионе AWE процесса и задает узел NUMA для физической памяти.
FreeUserPhysicalPages Освобождает страницы физической памяти, ранее выделенные с помощью AllocateUserPhysicalPages.
MapUserPhysicalPages Карты ранее выделенные страницы физической памяти по указанному адресу в регионе AWE.
MapUserPhysicalPagesScatter Карты ранее выделенные страницы физической памяти по указанному адресу в регионе AWE.

Функции кучи

Это функции кучи.

Function Description
GetProcessHeap Получает дескриптор кучи вызывающего процесса.
GetProcessHeaps Получает дескрипторы для всех куч, допустимых для вызывающего процесса.
КучиAlloc Выделяет блок памяти из кучи.
HeapCompact Объединяет смежные свободные блоки памяти на куче.
HeapCreate Создает объект кучи.
ХеапДеяйт Уничтожает указанный объект кучи.
HeapFree Освобождает блок памяти, выделенный из кучи.
КучиЛок Пытается получить блокировку, связанную с указанной кучей.
HeapQueryInformation Извлекает сведения об указанной куче.
КучиReAlloc Перераспреждает блок памяти из кучи.
HeapSetInformation Задает сведения о куче для указанной кучы.
Куча Извлекает размер блока памяти, выделенного из кучи.
HeapUnlock Освобождает владение блокировкой, связанной с указанной кучей.
HeapValidate Пытается проверить указанную кучу.
HeapWalk Перечисляет блоки памяти в указанной куче.

Функции виртуальной памяти

Это функции виртуальной памяти.

Function Description
Dis карта VirtualMemory Не карта содержит содержимое памяти диапазона страниц памяти без списания памяти. Содержимое неопределенной памяти карта и должно быть перезаписано приложением.
Предложение 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.

Function Description Соответствующая функция кучи
GlobalAlloc, LocalAlloc Выделяет указанное число байтов из кучи. КучиAlloc
GlobalDis карта, LocalDis карта Dis карта задает указанный глобальный блок памяти. Неприменимо.
GlobalFlags, LocalFlags Возвращает сведения об указанном объекте глобальной памяти. Неприменимо. Используйте HeapValidate для проверки кучи.
GlobalFree, LocalFree Освобождает указанный глобальный объект памяти. HeapFree
GlobalHandle, LocalHandle Извлекает дескриптор, связанный с указанным указателем на глобальный блок памяти. Эту функцию следует использовать только с функциями OLE и буфера обмена, которые требуют его. Неприменимо.
GlobalLock, LocalLock Блокирует глобальный объект памяти и возвращает указатель на первый байт блока памяти объекта. Неприменимо.
GlobalReAlloc, LocalReAlloc Изменяет размер или атрибуты указанного глобального объекта памяти. КучиReAlloc
GlobalSize, LocalSize Извлекает текущий размер указанного глобального объекта памяти. Куча
GlobalUnlock, LocalUnlock Уменьшает число блокировок, связанное с объектом памяти. Эту функцию следует использовать только с функциями OLE и буфера обмена, которые требуют его. Неприменимо.

Плохие функции памяти

Function Description
BadMemoryCallbackRoutine Определяемая приложением функция, зарегистрированная в функции RegisterBadMemoryNotification , вызывается при обнаружении одной или нескольких плохих страниц памяти.
GetMemoryErrorHandlingCapabilities Возвращает возможности обработки ошибок памяти системы.
RegisterBadMemoryNotification Регистрирует уведомление о плохой памяти, которое вызывается при обнаружении одной или нескольких страниц плохой памяти.
Отмена регистрацииBadMemoryNotification Закрывает указанный дескриптор уведомления о плохой памяти.

Анклав-функции

Function Description
CreateEnclave Создает неинициализированный анклав. Анклав — это изолированный регион кода и данных в адресном пространстве приложения. Только код, который выполняется в анклавах, может получить доступ к данным в одном анклавах.
ИнициализацияEnclave Инициализирует анклав, созданный и загруженный с данными.
IsEnclaveTypeSupported Извлекает, поддерживается ли указанный тип анклава.
LoadEnclaveData Загружает данные в неинициализированный анклав, созданный путем вызова CreateEnclave.

Функции thunk ATL

Function Description
AtlThunk_AllocateData Выделяет пространство в памяти для thunk ATL.
AtlThunk_DataToCode Возвращает исполняемую функцию, соответствующую параметру AtlThunkData_t.
AtlThunk_FreeData Освобождает память, связанную с thunk ATL.
AtlThunk_InitData Инициализирует thunk ATL.

Устаревшие функции

Эти функции предоставляются только для совместимости с 16-разрядными версиями Windows:

Следующая функция может возвращать неверные сведения и не должна использоваться. Вместо этого используйте функцию GlobalMemoryStatusEx .