Implementieren eines COM+-Ressourcenspenders

In den folgenden Schritten wird ein allgemeines Verfahren für die 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 Headerdatei mtxdm.h bzw. 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 Dispenser-API) die GetDispenserManager-Funktion auf. Dadurch wird ein Zeiger auf die IDispenserManager-Schnittstelle des Dispenser-Managers zurückgegeben.

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

  6. Speichern Sie diesen 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 durchführen. AllocResource antwortet zunächst, indem es Ihre CreateResource-Methode zurückruft, aber später werden AllocResource-Aufrufe aus dem wachsenden Ressourcenpool bedient.

COM+-Ressourcenspenderkonzepte

COM+-Ressourcenspenderschnittstellen