I have created a Direct3D9 wrapper in Go which uses CGo to interface with 
the COM objects in C. (https://github.com/gonutz/d3d9)

I would like to get rid of the dependency on a C-compiler under Windows so 
the user would not have to install MinGW or Cygwin to use DirectX from Go.

The problem is that d3d9.dll does not expose C-functions but uses COM. The 
only function that can be called directly after loading the DLL (with 
syscall.LoadLibrary("d3d9.dll")) is Direct3DCreate9. This returns a COM 
object which exposes all functionality as methods.

How can I call COM object methods in a DLL from pure Go without CGo?

I know of the Go-OLE library (https://github.com/go-ole/go-ole) which 
states it calls COM interfaces without CGo but I cannot, from the sources, 
see how I would go about doing the same thing for Direct3D9. A simple 
example with only the relevant parts would be of great help.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to