COM+ リソース ディスペンサーの実装

次の手順では、COM+ リソース ディスペンサーを実装するための一般的な手順について説明します。

  1. リソースの違いを分類する RESTYPID 形式を決定します。

  2. Mtxdm.h および Mtxdm.lib のヘッダー ファイルとライブラリをそれぞれ使用します。

  3. アプリケーションに公開する IDispenserDriver インターフェイスと API を実装する DLL をビルドします。

  4. スタートアップ (DllMain、またはディスペンサー API の最初の呼び出し) で、GetDispenserManager 関数を呼び出します。 これにより、ディスペンサー マネージャー の IDispenserManager インターフェイスへのポインターが返されます。

  5. IDispenserManager::RegisterDispenser を呼び出し、IDispenserDriver の実装にポインターを渡します。 この結果、ディスペンサー マネージャーはリソース ディスペンサーのホルダー (プーリング マネージャー) を作成し、IHolder インターフェイスへのポインターを返します。

  6. IHolder::AllocResourceIHolder::FreeResource を呼び出すことができるよう、このポインターを格納します。

  7. (API の呼び出しに応答して) AllocResourceFreeResource を呼び出せるようになります。 AllocResource は、最初は CreateResource メソッドを呼び出すことによって応答しますが、後で AllocResource 呼び出しは増大するリソース プールから実行されます。

COM+ リソース ディスペンサーの概念

COM+ リソース ディスペンサー インターフェイス