Compartir a través de


Clase CComHeap

Esta clase implementa IAtlMemMgr mediante las funciones de asignación de memoria COM.

Importante

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

Sintaxis

class CComHeap : public IAtlMemMgr

Miembros

Métodos públicos

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

Comentarios

CComHeap implementa funciones de asignación de memoria mediante las funciones de asignación COM, incluidas CoTaskMemAlloc, CoTaskMemFree, IMalloc::GetSize y CoTaskMemRealloc. La cantidad máxima de memoria que se puede asignar es igual a INT_MAX (2147483647) bytes.

Ejemplo

Vea el ejemplo de IAtlMemMgr.

Jerarquía de herencia

IAtlMemMgr

CComHeap

Requisitos

Header: ATLComMem.h

CComHeap::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 CComHeap::Free o a CComHeap::Reallocate para liberar la memoria asignada por este método.

Se implementa mediante CoTaskMemAlloc.

CComHeap::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 CoTaskMemFree.

CComHeap::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 IMalloc::GetSize.

CComHeap::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 CComHeap::Free para liberar la memoria asignada por este método.

Se implementa mediante CoTaskMemRealloc.

Consulte también

Ejemplo DynamicConsumer
Información general sobre la clase
CWin32Heap (clase)
CLocalHeap (clase)
CGlobalHeap (clase)
CCRTHeap (clase)
IAtlMemMgr (clase)