Partilhar via


Classe IAtlStringMgr

Observação

A biblioteca Microsoft Foundation Classes (MFC) e a Active Template Library (ATL) continuam a ser suportadas. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe representa a interface para um CStringT gestor de memória.

Sintaxe

__interface IAtlStringMgr

Membros

Methods

Nome Description
Alocar Chame este método para alocar uma nova estrutura de dados de cadeia.
Clone Chame este método para devolver um ponteiro a um novo gestor de strings para uso com outra instância de CSimpleStringT.
Gratuito Chame este método para libertar uma estrutura de dados de cadeia.
GetNilString Devolve um ponteiro para o CStringData objeto usado por objetos de string vazios.
Realocar Chame este método para realocar uma estrutura de dados de cadeia.

Observações

Esta interface gere a memória usada pelas classes de string independentes de MFC; como CSimpleStringT, CStringT e CFixedStringT.

Também pode usar esta classe para implementar um gestor de memória personalizado para a sua classe de strings personalizada. Para mais informações, consulte Gestão de Memória e CStringT.

Requerimentos

Cabeçalho: atlsimpstr.h

IAtlStringMgr::Allocate

Aloca uma nova estrutura de dados de string.

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 carácter usado pelo gestor de strings.

Valor de retorno

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

Observação

Não sinalize uma alocação falhada lançando uma exceção. Em vez disso, uma alocação falhada deve ser sinalizada retornando NULL.

Observações

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

Observação

Para exemplos de utilização, veja Gestão de Memória e CStringT.

IAtlStringMgr::Clone

Devolve um ponteiro para um novo gestor de strings para uso com outra instância de CSimpleStringT.

IAtlStringMgr* Clone() throw();

Valor de retorno

Devolve uma cópia do IAtlStringMgr objeto.

Observações

Comumente chamado pelo framework quando é necessário um gestor de strings para uma nova string. Na maioria dos casos, o this ponteiro é devolvido.

No entanto, se o gestor de memória não suportar ser usado por múltiplas instâncias de CSimpleStringT, um ponteiro para um gestor de strings partilhável deve ser retornado.

Observação

Para exemplos de utilização, veja Gestão de Memória e CStringT.

IAtlStringMgr::Grátis

Liberta uma estrutura de dados em cadeia.

void Free(CStringData* pData) throw();

Parâmetros

pDados
Um ponteiro para o bloco de memória a libertar.

Observações

Liberta o bloco de memória especificado anteriormente alocado por Allocate ou Relocate.

Observação

Para exemplos de utilização, veja Gestão de Memória e CStringT.

IAtlStringMgr::GetNilString

Devolve um ponteiro para uma estrutura de dados de cadeia para uma cadeia vazia.

CStringData* GetNilString() throw();

Valor de retorno

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

Observações

Chame esta função para devolver uma representação de uma cadeia vazia.

Observação

Ao implementar um gestor de strings personalizado, esta função nunca deve falhar. Podes garantir isto incorporando uma instância de CNilStringData na classe gestora de strings e devolvendo um ponteiro para essa instância.

Observação

Para exemplos de utilização, veja Gestão de Memória e CStringT.

IAtlStringMgr::Reallocate

Realoca uma estrutura de dados em cadeia.

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

Parâmetros

pDados
Apontador para a memória anteriormente atribuída por este gestor de memória.

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

nCharSize
O tamanho (em bytes) do tipo de carácter usado pelo gestor de strings.

Valor de retorno

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

Observações

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

Chame IAtlStringMgr::Free para libertar a memória alocada por este método.

Observação

Para exemplos de utilização, veja Gestão de Memória e CStringT.

Consulte também

Gráfico de Hierarquia
Classes compartilhadas ATL/MFC