core.sys.windows.com.ComObject apparently has wrongly laid out Vtable

Walter Bright newshound2 at digitalmars.com
Thu Mar 21 03:48:04 UTC 2024


On 3/20/2024 7:38 AM, Carl Sturtivant wrote:
> So why isn't ComObject declared extern(C++) in druntime?

Because COM objects need to follow the extern(Windows) calling convention. It's 
a mistake to try to cast it to extern(C++).

I didn't invent this. Microsoft did. COM was invented around 1990 or so. It's 
cast in concrete.



More information about the Digitalmars-d mailing list