On Tuesday, 29 October 2013 at 19:40:40 UTC, Benjamin Thaut wrote:
So I found it. Its actually your fault.
IXAudio2Voice isn't a COM interface. That means it should _not_
inherit from IUnkown. But if it isn't a COM interface it can't
be a regular D interface either, because if it is a regular
D-Interface it will not have a v-table layout that conforms
with C++. That means you have to put "extern(C++)" in front of
IXAudio2Voice to make it work.
So to make stuff work you should change
interface IXAudio2Voice : IUnknown
to
extern(C++) interface IXAudio2Voice
Then everything works fine.
omg! i can't believe this :(
i have tried this too
first(http://www.dsource.org/projects/bindings/wiki/DirectX), and
it was somewhat crappy, so i start my own tranlation, all was
fine until xaudio2. i looked up what author of those bindings
did, noticed that it doesn't exactly relates to xaudio2.h, and
tried to make the same in my version. so it figures out i have
just overlooked that its not a COM interfaces. big thanks to you,
i feel stupid :(
now i need to fix my xaudio, and then i can clean d3d11 mess i
made.