gpt4 book ai didi

c++ - 将 CoCreateInstance 重定向到假实现

转载 作者:搜寻专家 更新时间:2023-10-31 00:50:58 27 4
gpt4 key购买 nike

鉴于一些现有代码调用 CoCreateInstance 来创建已注册 COM 对象的实例,是否有一种方法可以重定向这些调用以创建不同的实例?

想法是在同一个进程中(出于测试目的),在不改变原始代码或影响任何其他进程的情况下,当它请求系统提供的CLSID_ShellLink(例如)时,它将创建实现相同接口(interface)的自定义类型(在相同代码库中实现)的实例,而不是它通常创建的“真实”实例。

为了澄清:我正在寻找一个 API 调用,它可以说“嘿 CoCreateInstance,在查看注册之前首先调用这个本地的东西来创建一个实例”。而且它必须是可以通过编程方式完成的事情,而不是通过操作注册表或配置文件;它需要在代码中切换。

最佳答案

如果您正在创建的对象正在处理中,并且如果您可以在您正在谈论的过程中调用 CoRegisterClassObject,则可以为特定对象注册您自己的类工厂...还取决于调用 CoCreateInstance 时使用的标志.

关于c++ - 将 CoCreateInstance 重定向到假实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56437191/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com