Compartilhar via


Gerenciando a memória para estruturas ADRLIST e SRowSet"

Aplica-se a: Outlook 2013 | Outlook 2016

O requisito para alocar toda a memória para um buffer sempre que possível com uma única chamada MAPIAllocateBuffer não se aplica ao usar a lista de endereços, ou ADRLIST, e conjunto de linhas, ou SRowSet, estruturas.

Essas duas estruturas são exceções às regras padrão para alocar e liberar memória. Eles contêm vários níveis de estruturas e são projetados para permitir que membros individuais sejam adicionados ou removidos. Portanto, cada propriedade deve ser uma alocação separada.

Onde a maioria das estruturas é liberada com uma chamada para MAPIFreeBuffer, cada entrada individual em uma estrutura ADRLIST ou SRowSet deve ser liberada com sua própria chamada para MAPIFreeBuffer ou uma única chamada para FreeProws ou FreePadrlist. Para obter mais informações, consulte MAPIFreeBuffer, ADRLIST e SRowSet.

FreeProws e FreePadrlist são funções fornecidas pelo MAPI para simplificar a liberação dessas estruturas de dados. Para obter mais informações, consulte FreeProws e FreePadrlist. FreePadrlist libera a memória da estrutura ADRLIST mais toda a memória associada para os membros da estrutura; FreeProws faz o mesmo para a estrutura SRowSet .

O diagrama a seguir mostra o layout de uma estrutura de dados ADRLIST , indicando as alocações de memória separadas necessárias. As caixas cinzas mostram memória que pode ser alocada e liberada com uma chamada.

ADRLIST memory allocation

Alocação de memória ADRLIST ADRLIST alocação de memória

Confira também