Gestion de l’allocation de mémoire

Dans COM, de nombreuses méthodes d’interface, voire la plupart, sont appelées par le code écrit par une organization de programmation et implémentées par du code écrit par un autre. La plupart des paramètres et valeurs de retour de ces fonctions sont de types qui peuvent être transmis par valeur. Parfois, cependant, il est nécessaire de passer des structures de données pour lesquelles ce n’est pas le cas. Il est donc nécessaire que l’appelant et appelé disposent d’une stratégie d’allocation et de dé-allocation compatibles. COM définit une convention universelle pour l’allocation de mémoire, car il est plus raisonnable que de définir des règles au cas par cas et afin que l’implémentation de l’appel de procédure distante COM puisse gérer correctement la mémoire.

Les méthodes d’une interface COM fournissent toujours la gestion de la mémoire des pointeurs vers l’interface en appelant les fonctions AddRef et Release de l’interface IUnknown , d’où dérivent toutes les autres interfaces COM. (Pour plus d’informations, consultez Règles de gestion du nombre de références .)

Cette section décrit uniquement comment allouer de la mémoire pour les paramètres qui ne sont pas transmis par valeur , pas des pointeurs vers des interfaces, mais des éléments plus banals tels que des chaînes, des pointeurs vers des structures, etc.

Pour plus d'informations, voir les rubriques suivantes :