ok i may have got around it like so but not sure its right
var desc = new FrameBufferDesc() { FbWidth=400,FbHeight =400};
IntPtr pObj = Marshal.AllocHGlobal(Marshal.SizeOf(desc));
Marshal.StructureToPtr(desc, pObj, false);
ContextCreateFrameBuffer(g_context, fmt,pObj , out g_frame_buffer));