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 questo non è il caso, quindi è necessario per il chiamante e chiamato per avere un criterio di allocazione e di 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'interfaccia IUnknown, da cui derivano tutte le altre interfacce COM. (Vedere Regole per la gestione dei conteggi dei riferimenti per altre informazioni.

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 ulteriori informazioni, vedi gli argomenti seguenti: