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)