I've used syscall.MustLoadDLL to load a DLL and MustFindProc to get
*syscall.Procs to the functions I need. However, I can't find the info I
need in the docs (if it is there a link would be great!)
If a DLL function returns an int >=0 in r1 do I need to cast this to a
uintptr or can I just treat is as if it was a plain uint? (The latter seems
to be working so far.)
To pass strings I'm doing this:
pfilename, err := syscall.UTF16PtrFromString(filename)
if err != nil {
return nil, fmt.Errorf("failed to read filename %s: %s", filename,
err)
}
r1, _, err :=
mydll.OpenFileReadOnly.Call(uintptr(unsafe.Pointer(pfilename)))
Is this correct?
What I don't know how to do is pass in a float64:
w := 0.4
r1, _, err := mydll.SetWidth(w) // wrong because not a uintptr
Thanks!
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.