Compartir a través de


Clase CGlobalHeap

Esta clase implementa IAtlMemMgr mediante las funciones de montón global de Win32.

Importante

Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.

Sintaxis

class CGlobalHeap : public IAtlMemMgr

Miembros

Métodos públicos

Nombre Descripción
CGlobalHeap::Allocate Llame a este método para asignar un bloque de memoria.
CGlobalHeap::Free Llame a este método para liberar un bloque de memoria asignado por este administrador de memoria.
CGlobalHeap::GetSize Llame a este método para obtener el tamaño asignado de un bloque de memoria asignado por este administrador de memoria.
CGlobalHeap::Reallocate Llame a este método para reasignar la memoria asignada por este administrador de memoria.

Comentarios

CGlobalHeap implementa funciones de asignación de memoria mediante las funciones de montón global de Win32.

Nota:

Las funciones del montón global son más lentas que otras funciones de administración de memoria y no proporcionan tantas características. Por lo tanto, las nuevas aplicaciones deben usar las funciones del montón. Están disponibles en la clase CWin32Heap. DDE y las funciones del Portapapeles siguen usando las funciones globales.

Ejemplo

Vea el ejemplo de IAtlMemMgr.

Jerarquía de herencia

IAtlMemMgr

CGlobalHeap

Requisitos

Encabezado: atlmem.h

CGlobalHeap::Allocate

Llame a este método para asignar un bloque de memoria.

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

Parámetros

nBytes
Número de bytes solicitado en el nuevo bloque de memoria.

Valor devuelto

Devuelve un puntero al principio del bloque de memoria recién asignado.

Comentarios

Llame a CGlobalHeap::Free o CGlobalHeap::Reallocate para liberar la memoria que se ha asignado con este método.

Se ha implementado mediante el uso conjunto de GlobalAlloc y un parámetro de marca de GMEM_FIXED.

CGlobalHeap::Free

Llame a este método para liberar un bloque de memoria asignado por este administrador de memoria.

virtual void Free(void* p) throw();

Parámetros

p
Puntero a la memoria previamente asignada por este administrador de memoria. NULL es un valor válido y no hace nada.

Comentarios

Se implementa mediante GlobalFree.

CGlobalHeap::GetSize

Llame a este método para obtener el tamaño asignado de un bloque de memoria asignado por este administrador de memoria.

virtual size_t GetSize(void* p) throw();

Parámetros

p
Puntero a la memoria previamente asignada por este administrador de memoria.

Valor devuelto

Devuelve el tamaño del bloque de memoria asignado en bytes.

Comentarios

Se implementa mediante GlobalSize.

CGlobalHeap::Reallocate

Llame a este método para reasignar la memoria asignada por este administrador de memoria.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

Parámetros

p
Puntero a la memoria previamente asignada por este administrador de memoria.

nBytes
Número de bytes solicitado en el nuevo bloque de memoria.

Valor devuelto

Devuelve un puntero al principio del bloque de memoria recién asignado.

Comentarios

Llame a CGlobalHeap::Free para liberar la memoria asignada por este método.

Se implementa mediante GlobalReAlloc.

Consulte también

Información general sobre la clase
CComHeap (clase)
CWin32Heap (clase)
CLocalHeap (clase)
CCRTHeap (clase)
IAtlMemMgr (clase)