Implementieren eines COM+ Resource Dispensers

In den folgenden Schritten wird ein allgemeines Verfahren zur Implementierung eines COM+-Ressourcenspenders beschrieben:

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

  2. Verwenden Sie die Mtxdm.h- und Mtxdm.lib-Headerdatei bzw. -bibliothek.

  3. Erstellen Sie eine DLL, die die IDispenserDriver-Schnittstelle und die API implementiert, die Sie Anwendungen zur Verfügung stellen möchten.

  4. Rufen Sie im Start (DllMain oder erster Aufruf der Dispenser-API) die GetDispenserManager-Funktion auf. Dadurch wird ein Zeiger auf die IDispenserManager-Schnittstelle des Spendermanagers zurückgegeben.

  5. Rufen Sie IDispenserManager::RegisterDispenser auf, indem Sie einen Zeiger an Ihre Implementierung von IDispenserDriver übergeben. Dies bewirkt, dass der Dispenser-Manager einen Inhaber (Pooling-Manager) für Ihren Ressourcenspender erstellt und dann den Zeiger an Ihre IHolder-Schnittstelle zurückgibt.

  6. Store dieser Zeiger, damit Sie IHolder::AllocResource und IHolder::FreeResource aufrufen können.

  7. Sie können jetzt (als Reaktion auf Aufrufe ihrer API) Aufrufe an AllocResource und FreeResource tätigen. AllocResource antwortet zunächst, indem Sie ihre CreateResource-Methode aufrufen, aber später werden AllocResource-Aufrufe aus dem wachsenden Ressourcenpool bedient.

COM+ Resource Dispenser-Konzepte

COM+ Resource Dispenser-Schnittstellen