gpt4 book ai didi

c# - 如何使用 C# 将 IUnknown 参数传递给 COM 接口(interface)?

转载 作者:太空宇宙 更新时间:2023-11-03 18:30:18 25 4
gpt4 key购买 nike

我有一个这样定义的 COM 接口(interface)

interface Client : IUnknown
{
[id(1)] HRESULT GetSomething
(
enum SomeID someID,
[out] IUnknown **pUnknown
);
};

如何使用 C# 传递 IUnknown 对象?

最佳答案

你不传递任何东西,它返回一个接口(interface)指针。一个不透明的 IUnknown 由所有 COM 接口(interface)实现。在 C# 中,它将是一个 object 类型的对象,“可以是任何东西”的托管版本。所以基本代码如下所示:

object retval;
client.GetSomething(SomeID.Magic, out retval);

然后由您将返回的对象转换为实际的接口(interface)类型,可能基于 Magic。您的问题根本没有暗示它可能是什么,您必须阅读 COM 组件的文档才能有一个想法。

关于c# - 如何使用 C# 将 IUnknown 参数传递给 COM 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23614970/

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