L’allocateur de mémoire OLE
La bibliothèque COM fournit une implémentation d’un allocateur de mémoire qui est thread-safe. (Autrement dit, il ne peut pas causer de problèmes dans des situations multithread.) Chaque fois que la propriété d’un bloc de mémoire alloué est passée via une interface COM ou entre un client et la bibliothèque COM, vous devez utiliser cet allocateur COM pour allouer la mémoire. L’allocation interne à un objet peut utiliser n’importe quel schéma d’allocation souhaité, mais l’allocateur de mémoire COM est un allocateur pratique, efficace et thread-safe.
Un appel à la fonction API CoGetMalloc fournit un pointeur vers l’allocateur OLE, qui est une implémentation de l’interface IMalloc . Toutefois, il est plus efficace d’appeler les fonctions d’assistance CoTaskMemAlloc, CoTaskMemRealloc et CoTaskMemFree, qui encapsulent un pointeur vers l’allocateur de mémoire de tâche, en appelant la méthode IMalloc correspondante, puis en libérant le pointeur vers l’allocateur.
Rubriques connexes