IMalloc
9/8/2008
Essa interface aloca, libera e gerencia memória.
Quando a implementar
Em geral, você não deve implementar IMalloc, em vez disso use a implementação COM, que é garantida ser thread-safe no gerenciamento memória tarefa. Você get um ponteiro do objeto alocador tarefa de COM IMalloc Por um chamar para o CoGetMalloc função.
Quando usar
Chamar os métodos de IMalloc Para alocar e gerenciar memória. As bibliotecas COM e manipuladores objeto também chamar o IMalloc Métodos para gerenciar memória.
Identificadores de objeto devem chamar CoGetMalloc Para get um ponteiro para o IMalloc implementação no objeto alocador de tarefa e usar a implementação desses métodos para gerenciar tarefa memória.
O IMalloc Métodos Alocação, Livre, e Realloc são semelhantes às funções de biblioteca C malloc, livre, e Realocar. Para depuração, referir para as funções CoRegisterMallocSpy e CoRevokeMallocSpy.
Métodos
A seguinte tabela mostra os métodos para esta interface na ordem que o compilador chama os métodos. Como todas as interfaces COM, essa interface herda os métodos para a IUnknown interface.
Método IUnknown | Descrição |
---|---|
Retorna os ponteiros para com suporte interfaces. |
|
Contagem de referência incrementos. |
|
Contagem de referência diminui. |
Método IMalloc | Descrição |
---|---|
Aloca um bloco de memória. |
|
Altera o tamanho de uma bloco de memória anteriormente alocado. |
|
Libera um bloco de memória anteriormente alocado. |
|
Retorna o tamanho em bytes de uma bloco de memória anteriormente alocado. |
|
Determina se esta instância de IMalloc foi usado para alocar o bloco de memória especificado. |
|
Minimiza o heap liberando não usado memória para o sistema operacional. |
Remarks
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Requisitos
Header | objidl.h, objidl.idl |
Library | ole32.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
CoGetMalloc
CoRegisterMallocSpy
CoRevokeMallocSpy
IMallocSpy