How to get pointer to IUnknown in C#
.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#? Hans Passant Use Marshal.GetIUnknownForObject() . 来源: https://stackoverflow.com/questions/3941349/how-to-get-pointer-to-iunknown-in-c-sharp