Freigeben über


Verwalten des Arbeitsspeichers für ADRLIST- und SRowSet-Strukturen"

Gilt für: Outlook 2013 | Outlook 2016

Die Anforderung, den gesamten Arbeitsspeicher für einen Puffer nach Möglichkeit mit einem einzelnen MAPIAllocateBuffer-Aufruf zuzuweisen, gilt nicht, wenn die Adresslisten- oder ADRLIST- und Zeilensatz- oder SRowSet-Strukturen verwendet werden.

Diese beiden Strukturen sind Ausnahmen von den Standardregeln für die Zuweisung und Freigabe von Arbeitsspeicher. Sie enthalten mehrere Ebenen von Strukturen und sind so konzipiert, dass einzelne Member hinzugefügt oder entfernt werden können. Daher muss jede Eigenschaft eine separate Zuordnung sein.

Wenn die meisten Strukturen mit einem Aufruf von MAPIFreeBuffer freigegeben werden, muss jeder einzelne Eintrag in einer ADRLIST - oder SRowSet-Struktur mit einem eigenen Aufruf von MAPIFreeBuffer oder einem einzelnen Aufruf von FreeProws oder FreePadrlist freigegeben werden. Weitere Informationen finden Sie unter MAPIFreeBuffer, ADRLIST und SRowSet.

FreeProws und FreePadrlist sind Funktionen, die von MAPI bereitgestellt werden, um die Freigabe dieser Datenstrukturen zu vereinfachen. Weitere Informationen finden Sie unter FreeProws und FreePadrlist. FreePadrlist gibt den Arbeitsspeicher für die ADRLIST-Struktur sowie den gesamten zugehörigen Arbeitsspeicher für die Strukturmember frei. FreeProws führt dies auch für die SRowSet-Struktur aus.

Das folgende Diagramm zeigt das Layout einer ADRLIST-Datenstruktur , die die erforderlichen separaten Speicherbelegungen angibt. Die grauen Felder zeigen Arbeitsspeicher an, der mit einem Anruf zugewiesen und freigegeben werden kann.

ADRLIST-Speicherzuweisung

ADRLIST-Speicherbelegung

Siehe auch