Implementieren eines COM+ Resource Dispensers
In den folgenden Schritten wird ein allgemeines Verfahren zur Implementierung eines COM+-Ressourcenspenders beschrieben:
Entscheiden Sie sich für DAS RESTYPID-Format , das kategorisiert, wie sich Ihre Ressourcen voneinander unterscheiden.
Verwenden Sie die Mtxdm.h- und Mtxdm.lib-Headerdatei bzw. -bibliothek.
Erstellen Sie eine DLL, die die IDispenserDriver-Schnittstelle und die API implementiert, die Sie Anwendungen zur Verfügung stellen möchten.
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.
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.
Store dieser 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 tätigen. AllocResource antwortet zunächst, indem Sie ihre CreateResource-Methode aufrufen, aber später werden AllocResource-Aufrufe aus dem wachsenden Ressourcenpool bedient.
Zugehörige Themen