P/invoke with unions in C#