如何在 C# 中获取指向 IUnknown 的指针
.NET 互操作将 COM 对象包装到 .NET 对象(运行时可调用包装器,RCW)中,从而隐藏了通常的接口查询。为了使用运行对象表注册表示过滤器图的 COM 对象,我需要其 IUnknown 接口的(本机)地址(请参阅 如何对 DirectShow 图进行逆向工程?)。
所以问题是:如何在 C# 中获取 COM 对象的 IUnknown 指针?
.NET interop wraps COM objects into .NET objects (runtime-callable wrappers, RCWs), which hide the usual interface querying. In order to register a COM object representing a filter graph with the Running Objects Table, I need the (native) address of its IUnknown interface (see How can I reverse engineer a DirectShow graph?).
So the question is: How can I get a COM object's IUnknown pointer in C#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用Marshal.GetIUnknownForObject()。
Use Marshal.GetIUnknownForObject().