实现 COM+ 资源分配器
以下步骤概述了实现 COM+ 资源分配器的一般过程:
确定 RESTYPID 格式,用于对资源彼此的不同之处进行分类。
分别使用 Mtxdm.h 和 Mtxdm.lib 头文件和库。
生成一个 DLL,用于实现 IDispenserDriver 接口和要向应用程序公开的 API。
在启动 (DllMain 或首次调用分配器 API) 中,调用 GetDispenserManager 函数。 这会返回指向分配器管理器的 IDispenserManager 接口的指针。
调用 IDispenserManager::RegisterDispenser,将指针传递给 IDispenserDriver 的实现。 这会导致分配器管理器为资源分配器创建持有者 (池管理器) ,然后返回指向 IHolder 接口的指针。
Microsoft Store此指针,以便可以调用 IHolder::AllocResource 和 IHolder::FreeResource。
现在可以 (响应对 API 的调用,) 调用 AllocResource 和 FreeResource。 AllocResource 最初通过回叫 CreateResource 方法做出响应,但后来 的 AllocResource 调用将从不断增长的资源池中提供服务。
相关主题