Implementieren eines COM+-Ressourcenspenders
In den folgenden Schritten wird ein allgemeines Verfahren für die Implementierung eines COM+-Ressourcenspenders beschrieben:
Entscheiden Sie sich für das RESTYPID-Format , das kategorisiert, wie sich Ihre Ressourcen voneinander unterscheiden.
Verwenden Sie die Headerdatei mtxdm.h bzw. 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 Dispenser-API) die GetDispenserManager-Funktion auf. Dadurch wird ein Zeiger auf die IDispenserManager-Schnittstelle des Dispenser-Managers zurückgegeben.
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.
Speichern Sie diesen Zeiger, damit Sie IHolder::AllocResource und IHolder::FreeResource aufrufen können.
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.
Zugehörige Themen