On Sunday, 19 March 2017 at 02:04:53 UTC, StarGrazer wrote:
I have a COM interface that is dynamically created using invoke
and such.
One of the functions returns an interface. It is just a value
of IUnknown or whatever.
If I use it as a pointer in to the the D interface equivalent,
it crashes as the value is not pointing to anything valid.
What do these values represent? I tried to use QueryInterface
from the class who's function provides the "COM interface" but
it returns interface not supported.
So, I have one dynamic COM interface that I initialize properly
and can call it's functions and all the ones I tested work
fine. Some of those functions returns interfaces. If I try to
call the functions on those interfaces, the app crashes.
How to I get the interfaces the return values represent? Or for
that matter, the functions that ask for an interface, what do I
pass? Passing or using the generated D interfaces does not work.
I'm sorry, but probably you should read something like this[1]
first, this tech(COM) is beyond D, so you must understand how it
works before trying it in D.
[1]
https://www.codeproject.com/Articles/633/Introduction-to-COM-What-It-Is-and-How-to-Use-It