Implémentation d’un distributeur de ressources COM+

Les étapes suivantes décrivent une procédure générale pour implémenter un distributeur de ressources COM+ :

  1. Choisissez le format RESTYPID qui catégorise la façon dont vos ressources diffèrent les unes des autres.

  2. Utilisez respectivement le fichier et la bibliothèque d’en-tête Mtxdm.h et Mtxdm.lib.

  3. Créez une DLL qui implémente l’interface IDispenserDriver et l’API que vous souhaitez exposer aux applications.

  4. Au démarrage (DllMain ou premier appel à l’API du distributeur), appelez la fonction GetDispenserManager . Cette opération retourne un pointeur vers l’interface IDispenserManager du gestionnaire de distribution.

  5. Appelez IDispenserManager::RegisterDispenser, en passant un pointeur vers votre implémentation d’IDispenserDriver. Ainsi, le gestionnaire de distribution crée un support (gestionnaire de regroupement) pour votre distributeur de ressources, puis retourne le pointeur vers votre interface IHolder .

  6. Stockez ce pointeur afin que vous puissiez appeler IHolder::AllocResource et IHolder::FreeResource.

  7. Vous pouvez maintenant (en réponse aux appels à votre API) effectuer des appels à AllocResource et FreeResource. AllocResource répond initialement en rappelant à votre méthode CreateResource , mais les appels AllocResource ultérieurs sont résolus à partir du pool croissant de ressources.

Concepts du distributeur de ressources COM+

Interfaces du distributeur de ressources COM+