How to COM interfaces work
evilrat via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Mar 18 19:45:48 PDT 2017
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
More information about the Digitalmars-d-learn
mailing list