正在获取指向现有COM对象的指针
Getting a pointer to an existing COM object?
如何获取指向在同一台机器上、不同进程中创建的现有COM对象的指针?
我有一个凭据提供程序,它创建了一个继承ICredentialProvider的对象。ICredentialProvider有一个方法SetSerialization。
我还有一个服务,我需要从中调用凭据提供程序的SetSerialization方法。问题是,我在C++方面很有经验,但我是COM的初学者,所以我不知道怎么做。微软的示例"CSampleProvider"评论说从"远程客户端"调用SetSerialization方法,但没有解释如何调用——我想他们假设你知道COM.
我一整天都在阅读MSDN和各种关于COM的教程,我已经到了可以在服务中创建凭据提供程序实例的地步,但我需要获得一个指向已经存在的凭据提供程序对象的指针,而不是创建一个新的,我不知道如何创建。
它是如何完成的?
谢谢。
规范方法通过Running Object Table
。这假设对象有一个"名字对象",即COM名称,并且该名字对象已注册。
请注意,ROT是IPC的一种形式,特别是COM对象的系统范围目录。
正如Raymond所说,简而言之,你不能——至少任何内置的COM功能都不能。如果必须,则需要通过某种形式的进程间通信进行传递。
相关文章:
- COM :是否可以查看是否存在对我的某个 COM 对象的进程外引用?我可以释放它吗?
- 如何在C++非托管/本机 DLL 中从注册免费 COM C# 托管 DLL 创建 COM 对象
- 从 WinRT C++组件访问 COM 对象
- 通过 COM 对象连接 x64 应用程序时出现问题
- 我如何知道COM对象与不同的COM UUIDS兼容
- 如何访问从 COM 对象返回的 VARIANT 数据类型中的安全数组C++?
- 2 个 COM 对象,并在另一个对象中使用其中一个对象的接口
- 尝试向 COM 对象添加另一个接口时出现静态强制转换错误 C2440
- 在没有共享 COM 对象的情况下使用 COM STA 或 MTA?
- 初始化com对象的问题
- UI自动化回调中com对象的所有权
- 从 COM 对象快速读取西里尔字母
- 如果从函数返回指向指针 COM 对象的指针,我是否需要 AddRef()?
- 使用 com 对象删除计划任务
- 如何使用OlesetClipboard将我的COM对象放置在剪贴板上时解决问题
- 在自定义源和 SmartTee 之间插入筛选器会泄漏 COM 对象
- COM 对象中的回调
- 如何在使用C++打开隐藏的 COM 对象时隐藏控制台窗口
- 将结构中的字节数组传递给 com 对象
- COM对象,并返回QVariant强制转换问题