InexorableTash wrote:C# will assume UNICODE but the Windows version of the GapiDraw DLL might be expecting ANSI.
That was totally and completely it. Brilliant!
Looks like the "windows version" of GapiDraw is expecting ANSI.
It was a side effect of the way I'm using the C# wrapper - I'm compiling it into its own DLL (a "Compact Framework" DLL) and when I consume the CF DLL from my desktop app, it forces UNICODE.
When the [DllImport] is compiled into my desktop app directly, it auto-selected ANSI.
Definitely a tricky thing to be managing Compact-Framework vs. Full Framework.