COM+ リソース ディスペンサーの実装
次の手順では、COM+ リソース ディスペンサーを実装するための一般的な手順について説明します。
リソースの違いを分類する RESTYPID 形式を決定します。
Mtxdm.h および Mtxdm.lib のヘッダー ファイルとライブラリをそれぞれ使用します。
アプリケーションに公開する IDispenserDriver インターフェイスと API を実装する DLL をビルドします。
スタートアップ (DllMain、またはディスペンサー API の最初の呼び出し) で、GetDispenserManager 関数を呼び出します。 これにより、ディスペンサー マネージャー の IDispenserManager インターフェイスへのポインターが返されます。
IDispenserManager::RegisterDispenser を呼び出し、IDispenserDriver の実装にポインターを渡します。 この結果、ディスペンサー マネージャーはリソース ディスペンサーのホルダー (プーリング マネージャー) を作成し、IHolder インターフェイスへのポインターを返します。
IHolder::AllocResource と IHolder::FreeResource を呼び出すことができるよう、このポインターを格納します。
(API の呼び出しに応答して) AllocResource と FreeResource を呼び出せるようになります。 AllocResource は、最初は CreateResource メソッドを呼び出すことによって応答しますが、後で AllocResource 呼び出しは増大するリソース プールから実行されます。
関連トピック