Implementieren eines COM+-Ressourcenverteilers
In den folgenden Schritten wird ein allgemeines Verfahren zum Implementieren eines COM+-Ressourcenverteilers beschrieben:
Entscheiden Sie sich für das RESTYPID-Format, das kategorisiert, wie sich Ihre Ressourcen voneinander unterscheiden.
Verwenden Sie die Headerdatei bzw. Bibliothek "Mtxdm.h" und "Mtxdm.lib".
Erstellen Sie eine DLL, die die IDispenserDriver-Schnittstelle und die API implementiert, die Sie für Anwendungen verfügbar machen möchten.
Rufen Sie beim Start (DllMain oder erster Aufruf der Verteiler-API) die GetDispenserManager-Funktion auf. Dadurch wird ein Zeiger auf die IDispenserManager-Schnittstelle des Verteiler-Managers zurückgegeben.
Rufen Sie IDispenserManager::RegisterDispenserauf, und übergeben Sie einen Zeiger auf Ihre Implementierung von IDispenserDriver. Dies bewirkt, dass der Verteiler-Manager einen Halter (Pooling-Manager) für Ihren Ressourcenspender erstellt und dann den Zeiger auf Ihre IHolder-Schnittstelle zurückgibt.
Store diesen Zeiger, damit Sie IHolder::AllocResource und IHolder::FreeResourceaufrufen können.
Sie können jetzt (als Reaktion auf Aufrufe Ihrer API) Aufrufe von AllocResource und FreeResourcedurchführen. AllocResource antwortet zunächst, indem es die CreateResource-Methode zurückruft, aber spätere AllocResource-Aufrufe werden aus dem wachsenden Ressourcenpool bedient.