Compartir a través de


Clase IAtlStringMgr

Esta clase representa la interfaz de un administrador de memoria CStringT.

Sintaxis

__interface IAtlStringMgr

Miembros

Métodos

Nombre Descripción
Allocate Llame a este método para asignar una nueva estructura de datos de cadena.
Clonar Llame a este método para devolver un puntero a un nuevo administrador de cadenas para usarlo con otra instancia de CSimpleStringT.
Gratis Llame a este método para liberar una estructura de datos de cadena.
GetNilString Devuelve un puntero al objeto CStringData utilizado por los objetos de cadena vacíos.
Reallocate Llame a este método para reasignar una estructura de datos de cadena.

Comentarios

Esta interfaz administra la memoria utilizada por las clases de cadena independientes de MFC; por ejemplo, CSimpleStringT, CStringT y CFixedStringT.

También puede usar esta clase para implementar un administrador de memoria personalizado para la clase de cadena personalizada. Para más información, consulte Administración de memoria y CStringT.

Requisitos

Encabezado: atlsimpstr.h

IAtlStringMgr::Allocate

Asigna una nueva estructura de datos de cadena.

CStringData* Allocate(int nAllocLength,int nCharSize) throw();

Parámetros

nAllocLength
Número de caracteres del nuevo bloque de memoria.

nCharSize
Tamaño (en bytes) del tipo de carácter usado por el administrador de cadenas.

Valor devuelto

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

Nota:

No indique una asignación errónea iniciando una excepción. En su lugar, debe devolver NULL para indicar una asignación errónea.

Comentarios

Llame a IAtlStringMgr::Free o IAtlStringMgr::Reallocate para liberar la memoria asignada por este método.

Nota:

Para obtener ejemplos de uso, consulte Administración de memoria y CStringT.

IAtlStringMgr::Clone

Devuelve un puntero a un nuevo administrador de cadenas para usarlo con otra instancia de CSimpleStringT.

IAtlStringMgr* Clone() throw();

Valor devuelto

Devuelve una copia del objeto IAtlStringMgr.

Comentarios

Normalmente, lo llama el marco de trabajo cuando se necesita un administrador de cadenas para una nueva cadena. En la mayoría de los casos, se devuelve el puntero this.

Sin embargo, si el administrador de memoria no admite su uso por parte de varias instancias de CSimpleStringT, se debe devolver un puntero a un administrador de cadenas que se pueda compartir.

Nota:

Para obtener ejemplos de uso, consulte Administración de memoria y CStringT.

IAtlStringMgr::Free

Libera una estructura de datos de cadena.

void Free(CStringData* pData) throw();

Parámetros

pData
Puntero al bloque de memoria que se va a liberar.

Comentarios

Libera el bloque de memoria especificado asignado previamente por Allocate o Reallocate.

Nota:

Para obtener ejemplos de uso, consulte Administración de memoria y CStringT.

IAtlStringMgr::GetNilString

Devuelve un puntero a una estructura de datos de cadena para una cadena vacía.

CStringData* GetNilString() throw();

Valor devuelto

Puntero al objeto CStringData utilizado para representar una cadena vacía.

Comentarios

Llame a esta función para devolver una representación de una cadena vacía.

Nota:

Al implementar un administrador de cadenas personalizado, esta función nunca debe producir un error. Para asegurarse de ello, inserte una instancia de CNilStringData en la clase del administrador de cadenas y devuelva un puntero a esa instancia.

Nota:

Para obtener ejemplos de uso, consulte Administración de memoria y CStringT.

IAtlStringMgr::Reallocate

Reasigna una estructura de datos de cadena.

CStringData* Reallocate(
    CStringData* pData,
    int nAllocLength,
    int nCharSize) throw();

Parámetros

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

nAllocLength
Número de caracteres del nuevo bloque de memoria.

nCharSize
Tamaño (en bytes) del tipo de carácter usado por el administrador de cadenas.

Valor devuelto

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

Comentarios

Llame a esta función para cambiar el tamaño del bloque de memoria existente especificado por pData.

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

Nota:

Para obtener ejemplos de uso, consulte Administración de memoria y CStringT.

Consulte también

Gráfico de jerarquías
Clases compartidas de ATL y MFC