Gestione dell'allocazione di memoria
In COM, molti, se non la maggior parte, i metodi di interfaccia vengono chiamati dal codice scritto da un'organizzazione di programmazione e implementato dal codice scritto da un altro. Molti dei parametri e i valori restituiti di queste funzioni sono di tipi che possono essere passati per valore. In alcuni casi, tuttavia, è necessario passare strutture di dati per le quali ciò non è possibile, quindi sia il chiamante che il chiamato devono avere un criterio di allocazione e de-allocazione compatibile. COM definisce una convenzione universale per l'allocazione di memoria, perché è più ragionevole rispetto alla definizione di regole case-by-case e in modo che l'implementazione della chiamata di procedura remota COM possa gestire correttamente la memoria.
I metodi di un'interfaccia COM forniscono sempre la gestione della memoria dei puntatori all'interfaccia chiamando le funzioni AddRef e Release disponibili nell'interfacciaIUnknown, da cui derivano tutte le altre interfacce COM. Per altre informazioni, vedere regole di per la gestione dei conteggi dei riferimenti.
Questa sezione descrive solo come allocare memoria per i parametri che non vengono passati per valore, non puntatori alle interfacce, ma cose più banali come stringhe, puntatori a strutture e così via.
Per altre informazioni, vedere gli argomenti seguenti: