Implementieren eines COM+-Ressourcenverteilers

In den folgenden Schritten wird ein allgemeines Verfahren zum Implementieren eines COM+-Ressourcenverteilers beschrieben:

  1. Entscheiden Sie sich für das RESTYPID-Format, das kategorisiert, wie sich Ihre Ressourcen voneinander unterscheiden.

  2. Verwenden Sie die Headerdatei bzw. Bibliothek "Mtxdm.h" und "Mtxdm.lib".

  3. Erstellen Sie eine DLL, die die IDispenserDriver-Schnittstelle und die API implementiert, die Sie für Anwendungen verfügbar machen möchten.

  4. 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.

  5. 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.

  6. Store diesen Zeiger, damit Sie IHolder::AllocResource und IHolder::FreeResourceaufrufen können.

  7. 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.

COM+-Ressourcenverteilerkonzepte

COM+-Ressourcenverteilerschnittstellen