Funciones de administración de memoria

Funciones de memoria general

Función Descripción
AddSecureMemoryCacheCallback Registra una función de devolución de llamada a la que se va a llamar cuando se libera un intervalo de memoria protegido o se cambian sus protecciones.
CopyDeviceMemory Copia la memoria de una ubicación a otra sin interferencias de las optimizaciones del compilador en situaciones en las que el desarrollador debe asegurarse además de que no se generarán errores de alineación al acceder a la memoria del dispositivo.
CopyMemory Copia un bloque de memoria de una ubicación a otra.
CopyVolatileMemory Copia el contenido de un bloque de memoria de origen en un bloque de memoria de destino.
CreateMemoryResourceNotification Crea un objeto de notificación de recursos de memoria.
FillDeviceMemory Establece el contenido de un búfer sin interferencias de las optimizaciones del compilador en situaciones en las que el desarrollador debe asegurarse además de que no se generarán errores de alineación al acceder a la memoria del dispositivo.
FillMemory Rellena un bloque de memoria con un valor especificado.
FillVolatileMemory Rellena un bloque de memoria con el valor de relleno especificado.
GetLargePageMinimum Recupera el tamaño mínimo de una página grande.
GetPhysicallyInstalledSystemMemory Recupera la cantidad de RAM instalada físicamente en el equipo.
GetSystemFileCacheSize Recupera los límites de tamaño actuales del conjunto de trabajo de la memoria caché del sistema.
GetWriteWatch Recupera las direcciones de las páginas que se han escrito en una región de memoria virtual.
GlobalMemoryStatusEx Obtiene información sobre el uso actual del sistema de la memoria física y virtual.
MoveMemory Mueve un bloque de memoria de una ubicación a otra.
MoveVolatileMemory Copia el contenido de un bloque de memoria de origen en un bloque de memoria de destino y admite bloques de memoria de origen y destino superpuestos.
QueryMemoryResourceNotification Recupera el estado del objeto de recurso de memoria especificado.
RemoveSecureMemoryCacheCallback Anula el registro de una función de devolución de llamada que se registró anteriormente con la función AddSecureMemoryCacheCallback.
ResetWriteWatch Restablece el estado de seguimiento de escritura para una región de memoria virtual.
SecureMemoryCacheCallback Función definida por la aplicación a la que se llama cuando se libera un intervalo de memoria protegido o se cambian sus protecciones.
SecureZeroMemory Rellena un bloque de memoria con ceros.
SecureZeroMemory2 Rellena un bloque de memoria con ceros de forma que se garantiza que sea seguro.
SetSystemFileCacheSize Limita el tamaño del conjunto de trabajo para la memoria caché del sistema de archivos.
ZeroDeviceMemory Establece el contenido de un búfer en ceros sin interferencias de las optimizaciones del compilador en situaciones en las que el desarrollador debe asegurarse además de que no se generarán errores de alineación al acceder a la memoria del dispositivo.
ZeroMemory Rellena un bloque de memoria con ceros.
ZeroVolatileMemory Rellena un bloque de memoria con ceros.

Funciones de prevención de ejecución de datos

Estas funciones se usan con la Prevención de ejecución de datos (DEP).

Función Descripción
GetProcessDEPPolicy Recupera la configuración de DEP de un proceso.
GetSystemDEPPolicy Recupera la configuración de DEP del sistema.
SetProcessDEPPolicy Cambia la configuración de DEP de un proceso.

Funciones de asignación de archivos

Estas funciones se usan en la asignación de archivos.

Función Descripción
CreateFileMappingA Crea o abre un objeto de asignación de archivos con nombre o sin nombre para un archivo especificado.
CreateFileMappingW Crea o abre un objeto de asignación de archivos con nombre o sin nombre para un archivo especificado.
CreateFileMapping2 Crea o abre un objeto de asignación de archivos con nombre o sin nombre para un archivo especificado. Puede especificar un nodo NUMA preferido para la memoria física como parámetro extendido; consulte el parámetro ExtendedParameters.
CreateFileMappingFromApp Crea o abre un objeto de asignación de archivos con nombre o sin nombre para un archivo especificado desde una aplicación de Microsoft Store.
CreateFileMappingNuma Crea o abre un objeto de asignación de archivos con nombre o sin nombre para un archivo especificado y especifica el nodo NUMA para la memoria física.
FlushViewOfFile Escribe en el disco un intervalo de bytes dentro de una vista asignada de un archivo.
GetMappedFileName Comprueba si la dirección especificada está dentro de un archivo asignado a memoria en el espacio de direcciones del proceso especificado. Si es así, la función devuelve el nombre del archivo asignado a memoria.
MapViewOfFile Asigna una vista de una asignación de archivos en el espacio de direcciones de un proceso de llamada.
MapViewOfFile2 Asigna una vista de un archivo o una sección respaldada por pagefile en el espacio de direcciones del proceso especificado.
MapViewOfFile3 Asigna una vista de un archivo o una sección respaldada por pagefile en el espacio de direcciones del proceso especificado.
MapViewOfFile3FromApp Asigna una vista de una asignación de archivos en el espacio de direcciones de un proceso de llamada desde una aplicación de Windows Store.
MapViewOfFileEx Asigna una vista de una asignación de archivos en el espacio de direcciones de un proceso de llamada. Un autor de llamada puede especificar opcionalmente una dirección de memoria sugerida para la vista.
MapViewOfFileExNuma Asigna una vista de una asignación de archivos en el espacio de direcciones de un proceso de llamada y especifica el nodo NUMA para la memoria física.
MapViewOfFileFromApp Asigna una vista de una asignación de archivos en el espacio de direcciones de un proceso de llamada desde una aplicación de Windows Store.
MapViewOfFileNuma2 Asigna una vista de un archivo o una sección respaldada por pagefile en el espacio de direcciones del proceso especificado.
OpenFileMapping Abre un objeto de asignación de archivos con nombre.
OpenFileMappingFromApp Abre un objeto de asignación de archivos con nombre.
UnmapViewOfFile Desasigna una vista asignada de un archivo del espacio de direcciones del proceso de llamada.
UnmapViewOfFile2 Desasigna una vista asignada previamente de un archivo o una sección respaldada por un archivo de página.
UnmapViewOfFileEx Desasigna una vista asignada previamente de un archivo o una sección respaldada por un archivo de página.

Funciones de AWE

Estas son las funciones de AWE.

Función Descripción
AllocateUserPhysicalPages Asigna páginas de memoria física que se asignarán y desasignarán dentro de cualquier región de AWE del proceso.
AllocateUserPhysicalPagesNuma Asigna páginas de memoria física que se asignarán y desasignarán dentro de cualquier región de AWE del proceso y especifica el nodo NUMA para la memoria física.
FreeUserPhysicalPages Libera páginas de memoria físicas asignadas previamente con AllocateUserPhysicalPages.
MapUserPhysicalPages Asigna páginas de memoria física asignadas previamente en la dirección especificada dentro de una región de AWE.
MapUserPhysicalPagesScatter Asigna páginas de memoria física asignadas previamente en la dirección especificada dentro de una región de AWE.

Funciones de montón

Estas son las funciones del montón.

Función Descripción
GetProcessHeap Obtiene un controlador del montón del proceso de llamada.
GetProcessHeaps Obtiene identificadores de todos los montones que son válidos para el proceso de llamada.
HeapAlloc Asigna un bloque de memoria de un montón.
HeapCompact Combina bloques de memoria adyacentes libres en un montón.
HeapCreate Crea un objeto de montón.
HeapDestroy Destruye el objeto de montón especificado.
HeapFree Libera un bloque de memoria asignado de un montón.
HeapLock Intenta adquirir el bloqueo asociado a un montón especificado.
HeapQueryInformation Recupera información sobre el montón especificado.
HeapReAlloc Vuelve a asignar un bloque de memoria del montón.
HeapSetInformation Establece la información del montón para el montón especificado.
HeapSize Recupera el tamaño de un bloque de memoria asignado desde un montón.
HeapUnlock Libera la propiedad del bloqueo asociado a un montón especificado.
HeapValidate Intenta validar un montón especificado.
HeapWalk Enumera los bloques de memoria de un montón especificado.

Funciones de memoria virtual

Estas son las funciones de memoria virtual.

Función Descripción
DiscardVirtualMemory Descarta el contenido de la memoria de un intervalo de páginas de memoria, sin omitir la memoria. El contenido de la memoria descartada no está definido y la aplicación debe volver a escribirla.
OfferVirtualMemory Indica que la aplicación ya no necesita los datos contenidos en un intervalo de páginas de memoria y que el sistema puede descartarlos si es necesario.
PrefetchVirtualMemory Captura previa de intervalos de direcciones virtuales en memoria física.
QueryVirtualMemoryInformation Devuelve información sobre una página o un conjunto de páginas dentro del espacio de direcciones virtuales del proceso especificado.
ReclaimVirtualMemory Reclama un intervalo de páginas de memoria que se ofrecieron al sistema con OfferVirtualMemory.
SetProcessValidCallTargets Proporciona a CFG una lista de destinos válidos de llamadas indirectas y especifica si deben marcarse como válidos o no.
VirtualAlloc Reserva o confirma una región de páginas en el espacio de direcciones virtuales del proceso de llamada.
VirtualAlloc2 Reserva, confirma o cambia el estado de una región de memoria dentro del espacio de direcciones virtuales de un proceso especificado. La función inicializa la memoria que asigna a cero.
VirtualAlloc2FromApp Reserva, confirma o cambia el estado de una región de páginas en el espacio de direcciones virtuales del proceso de llamada. La memoria asignada por esta función se inicializa automáticamente en cero.
VirtualAllocEx Reserva o confirma una región de páginas en el espacio de direcciones virtual del proceso especificado.
VirtualAllocExNuma Reserva o confirma una región de memoria dentro del espacio de direcciones virtual del proceso especificado y especifica el nodo NUMA para la memoria física.
VirtualAllocFromApp Reserva, confirma o cambia el estado de una región de páginas en el espacio de direcciones virtuales del proceso de llamada. La memoria asignada por esta función se inicializa automáticamente en cero.
VirtualFree Libera o deshace el "commit" de una región de páginas dentro del espacio de direcciones virtuales del proceso de llamada.
VirtualFreeEx Libera o deshace el "commit" de una región de memoria dentro del espacio de direcciones virtuales de un proceso especificado.
VirtualLock Bloquea la región especificada del espacio de direcciones virtuales del proceso en memoria física.
VirtualProtect Cambia la protección de acceso en una región de páginas confirmadas en el espacio de direcciones virtuales del proceso de llamada.
VirtualProtectEx Cambia la protección de acceso en una región de páginas confirmadas en el espacio de direcciones virtuales del proceso de llamada.
VirtualProtectFromApp Cambia la protección en una región de páginas confirmadas en el espacio de direcciones virtuales del proceso de llamada.
VirtualQuery Proporciona información sobre un intervalo de páginas en el espacio de direcciones virtuales del proceso de llamada.
VirtualQueryEx Proporciona información sobre un intervalo de páginas en el espacio de direcciones virtuales del proceso de llamada.
VirtualUnlock Desbloquea un intervalo especificado de páginas en el espacio de direcciones virtuales de un proceso.

Funciones globales y locales

Consulte también las funciones globales y locales. Estas funciones se proporcionan para la compatibilidad con Windows de 16 bits y se usan con Dynamic Data Exchange (DDE), las funciones del Portapapeles y los objetos de datos OLE. A menos que la documentación indique específicamente que se debe usar una función global o local, las nuevas aplicaciones deben usar la función de montón correspondiente con el controlador devuelto por GetProcessHeap. Para una funcionalidad equivalente a la función global o local, establezca el parámetro dwFlags de la función de montón en 0.

Función Descripción Función de montón correspondiente
GlobalAlloc, LocalAlloc Asigna el número especificado de bytes del montón. HeapAlloc
GlobalDiscard, LocalDiscard Descarta el bloque de memoria global especificado. No aplicable.
GlobalFlags, LocalFlags Devuelve información sobre el objeto de memoria global especificado. No aplicable. Use HeapValidate para validar el montón.
GlobalFree, LocalFree Libera el objeto de memoria global especificado. HeapFree
GlobalHandle, LocalHandle Recupera el identificador asociado al puntero especificado a un bloque de memoria global. Esta función solo debe usarse con funciones OLE y Portapapeles que lo requieran. No aplicable.
GlobalLock, LocalLock Bloquea un objeto de memoria global y devuelve un puntero al primer byte del bloque de memoria del objeto. No aplicable.
GlobalReAlloc, LocalReAlloc Cambia el tamaño o los atributos de un objeto de memoria global especificado. HeapReAlloc
GlobalSize, LocalSize Recupera el tamaño actual del objeto de memoria global especificado. HeapSize
GlobalUnlock, LocalUnlock Disminuye el recuento de bloqueos asociado a un objeto de memoria. Esta función solo debe usarse con funciones OLE y Portapapeles que lo requieran. No aplicable.

Funciones de memoria incorrectas

Función Descripción
BadMemoryCallbackRoutine Función definida por la aplicación registrada con la función RegisterBadMemoryNotification a la que se llama cuando se detectan una o varias páginas de memoria incorrectas.
GetMemoryErrorHandlingCapabilities Obtiene las funcionalidades de control de errores de memoria del sistema.
RegisterBadMemoryNotification Registra una notificación de memoria incorrecta a la que se llama cuando se detectan una o varias páginas de memoria incorrectas.
UnregisterBadMemoryNotification Cierra el identificador de notificación de memoria incorrecta especificado.

Funciones de enclave

Función Descripción
CreateEnclave Crea un nuevo enclave sin inicializar. Un enclave es una región aislada de código y datos dentro del espacio de direcciones de una aplicación. Solo el código que se ejecuta dentro del enclave puede acceder a los datos dentro del mismo enclave.
InitializeEnclave Inicializa un enclave que ha creado y cargado con datos.
IsEnclaveTypeSupported Recupera si se admite el tipo de enclave especificado.
LoadEnclaveData Carga datos en un enclave sin inicializar que ha creado llamando a CreateEnclave.

Funciones de código thunk de ATL

Función Descripción
AtlThunk_AllocateData Asigna espacio en memoria para un código thunk de ATL.
AtlThunk_DataToCode Devuelve una función ejecutable correspondiente al parámetro AtlThunkData_t.
AtlThunk_FreeData Libera memoria asociada a un código thunk de ATL.
AtlThunk_InitData Inicializa un código thunk de ATL.

Funciones obsoletas

Estas funciones solo se proporcionan para la compatibilidad con versiones de 16 bits de Windows:

La función siguiente puede devolver información incorrecta y no debe usarse. En su lugar, use la función GlobalMemoryStatusEx.