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)