How to COM interfaces work

StarGrazer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Mar 18 19:04:53 PDT 2017


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.




More information about the Digitalmars-d-learn mailing list