Funciones de administración de memoria
- Funciones de memoria general
- Funciones de prevención de ejecución de datos
- Funciones de asignación de archivos
- Funciones de AWE
- Funciones de montón
- Funciones de memoria virtual
- Funciones globales y locales
- Funciones de memoria incorrectas
- Funciones de enclave
- Funciones de código thunk de ATL
- Funciones obsoletas
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.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de