Compartilhar via


Classe IAtlStringMgr

Essa classe representa a interface para um gerenciador de memória de CStringT.

Sintaxe

__interface IAtlStringMgr

Membros

Métodos

Nome Descrição
Allocate Chame esse método para alocar uma nova estrutura de dados de cadeia de caracteres.
Clonar Chame esse método para retornar um ponteiro para um novo gerenciador de cadeias de caracteres para uso com outra instância de CSimpleStringT.
Gratuito Chame esse método para liberar uma estrutura de dados de cadeia de caracteres.
GetNilString Retorna um ponteiro para o objeto CStringData usado por objetos de cadeia de caracteres vazios.
Reallocate Chame esse método para realocar uma estrutura de dados de cadeia de caracteres.

Comentários

Essa interface gerencia a memória usada pelas classes de cadeia de caracteres independentes do MFC; como CSimpleStringT, CStringT e CFixedStringT.

Você também pode usar essa classe para implementar um gerenciador de memória personalizado para sua classe de cadeia de caracteres personalizada. Para saber mais, confira Gerenciamento de memória e CStringT.

Requisitos

Cabeçalho: atlsimpstr.h

IAtlStringMgr::Allocate

Aloca uma nova estrutura de dados de cadeia de caracteres.

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

Parâmetros

nAllocLength
O número de caracteres no novo bloco de memória.

nCharSize
O tamanho (em bytes) do tipo de caractere usado pelo gerenciador de cadeias de caracteres.

Valor de retorno

Retorna um ponteiro para o bloco de memória recém-alocado.

Observação

Não sinalize uma alocação com falha lançando uma exceção. Em vez disso, sinalize-a retornando NULL.

Comentários

Chame IAtlStringMgr::Free ou IAtlStringMgr::ReAllocate para liberar a memória alocada por esse método.

Observação

Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.

IAtlStringMgr::Clone

Retorna um ponteiro para um novo gerenciador de cadeias de caracteres para uso com outra instância de CSimpleStringT.

IAtlStringMgr* Clone() throw();

Valor de retorno

Retorna uma cópia do objeto IAtlStringMgr.

Comentários

Normalmente chamado pela estrutura quando um gerenciador de cadeias de caracteres é necessário para uma nova cadeia de caracteres. Na maioria dos casos, o ponteiro this é retornado.

No entanto, se o gerenciador de memória não for compatível com o uso por várias instâncias de CSimpleStringT, um ponteiro para um gerenciador de cadeias de caracteres compartilhável deverá ser retornado.

Observação

Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.

IAtlStringMgr::Free

Libera uma estrutura de dados de cadeia de caracteres.

void Free(CStringData* pData) throw();

Parâmetros

pData
Um ponteiro para o bloco de memória a ser liberado.

Comentários

Libera o bloco de memória especificado anteriormente alocado por Allocate ou Reallocate.

Observação

Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.

IAtlStringMgr::GetNilString

Retorna um ponteiro para uma estrutura de dados de cadeia de caracteres de uma cadeia de caracteres vazia.

CStringData* GetNilString() throw();

Valor de retorno

Um ponteiro para o objeto CStringData usado para representar uma cadeia de caracteres vazia.

Comentários

Chame essa função para retornar uma representação de uma cadeia de caracteres vazia.

Observação

Ao implementar um gerenciador de cadeias de caracteres personalizado, essa função nunca deve falhar. Você pode garantir isso inserindo uma instância de CNilStringData na classe do gerenciador de cadeias de caracteres e retornar um ponteiro para essa instância.

Observação

Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.

IAtlStringMgr::Reallocate

Realoca uma estrutura de dados de cadeia de caracteres.

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

Parâmetros

pData
Ponteiro para a memória alocada anteriormente por esse gerenciador de memória.

nAllocLength
O número de caracteres no novo bloco de memória.

nCharSize
O tamanho (em bytes) do tipo de caractere usado pelo gerenciador de cadeias de caracteres.

Valor de retorno

Retorna um ponteiro para o início do bloco de memória recém-alocado.

Comentários

Chame essa função para redimensionar o bloco de memória existente especificado por pData.

Chame IAtlStringMgr::Free para liberar a memória alocada por esse método.

Observação

Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.

Confira também

Gráfico da hierarquia
Classes compartilhadas ATL/MFC