实现 COM+ 资源分配器

以下步骤概述了实现 COM+ 资源分配器的一般过程:

  1. 确定 RESTYPID 格式,用于对资源彼此的不同之处进行分类。

  2. 分别使用 Mtxdm.h 和 Mtxdm.lib 头文件和库。

  3. 生成一个 DLL,用于实现 IDispenserDriver 接口和要向应用程序公开的 API。

  4. 在启动 (DllMain 或首次调用分配器 API) 中,调用 GetDispenserManager 函数。 这会返回指向分配器管理器的 IDispenserManager 接口的指针。

  5. 调用 IDispenserManager::RegisterDispenser,将指针传递给 IDispenserDriver 的实现。 这会导致分配器管理器为资源分配器创建持有者 (池管理器) ,然后返回指向 IHolder 接口的指针。

  6. Microsoft Store此指针,以便可以调用 IHolder::AllocResourceIHolder::FreeResource

  7. 现在可以 (响应对 API 的调用,) 调用 AllocResourceFreeResourceAllocResource 最初通过回叫 CreateResource 方法做出响应,但后来 的 AllocResource 调用将从不断增长的资源池中提供服务。

COM+ 资源分配器概念

COM+ 资源分配器接口