Udostępnij za pośrednictwem


Zarządzanie alokacją pamięci

W modelu COM wiele, jeśli nie większość, metody interfejsu są wywoływane przez kod napisany przez jedną organizację programistyczne i implementowane przez kod napisany przez inną. Wiele parametrów i zwracanych wartości tych funkcji to typy przekazywane jako wartość. Czasami jednak konieczne jest przekazanie struktur danych, dla których tak nie jest, dlatego konieczne jest, aby zarówno obiekt wywołujący, jak i wywoływany miał zgodne zasady alokacji i delokowania. COM definiuje uniwersalną konwencję alokacji pamięci, ponieważ jest to bardziej rozsądne niż definiowanie indywidualnych reguł, aby implementacja zdalnego wywołania procedury COM mogła poprawnie zarządzać pamięcią.

Metody interfejsu COM zawsze zapewniają zarządzanie pamięcią wskaźników do interfejsu poprzez wywołanie funkcji AddRef i Release, znajdujących się w interfejsie IUnknown, z którego pochodzą wszystkie inne interfejsy COM. (Aby uzyskać więcej informacji, zobacz Rules for Managing Reference Counts.)

W tej sekcji opisano tylko sposób przydzielania pamięci dla parametrów, które nie są przekazywane przez wartość — nie wskaźniki do interfejsów, ale bardziej przyziemne rzeczy, takie jak ciągi, wskaźniki do struktur itd.

Aby uzyskać więcej informacji, zobacz następujące tematy: