Verwalten der Speicherzuordnung

In COM werden viele, wenn nicht die meisten Schnittstellenmethoden durch Code aufgerufen, der von einer Programmier-organization geschrieben und durch Code implementiert wird, der von einer anderen geschrieben wurde. Viele der Parameter und Rückgabewerte dieser Funktionen sind von Typen, die als Wert übergeben werden können. Manchmal ist es jedoch notwendig, Datenstrukturen zu übergeben, für die dies nicht der Fall ist. Daher ist es notwendig, dass sowohl der Aufrufer als auch der Aufgerufene eine kompatible Zuordnungs- und Aufhebungsrichtlinie haben. COM definiert eine universelle Konvention für die Speicherzuordnung, da sie sinnvoller ist als die Definition von Einzelfallregeln und so, dass die Com-Remoteprozeduraufrufimplementierung den Arbeitsspeicher ordnungsgemäß verwalten kann.

Die Methoden einer COM-Schnittstelle stellen immer die Speicherverwaltung von Zeigern auf die Schnittstelle bereit, indem die Funktionen AddRef und Release in der IUnknown-Schnittstelle aufgerufen werden, von denen alle anderen COM-Schnittstellen abgeleitet werden. (Weitere Informationen finden Sie unter Regeln zum Verwalten von Referenzzahlen .)

In diesem Abschnitt wird nur beschrieben, wie Sie Arbeitsspeicher für Parameter zuweisen, die nicht als Wert übergeben werden – nicht Zeiger auf Schnittstellen, sondern alltäglichere Dinge wie Zeichenfolgen, Zeiger auf Strukturen usw.

Weitere Informationen finden Sie in den folgenden Themen: