No It does this, see the void, thats the start of the stack trace in the log above. void Event_GameShowInfo(Game_Info gi) gi.GameData.Category = "Category"; gi.GameData.Year = "Year"; gi.GameData.Developer = "Developer"; gi.GameData.Description = "Description"; gi.MameInfo.Players = "Players"; gi.MameInfo.Control = "Control"; gi.MameInfo.ParentRom = "ParentRom"; gi.EmulatorName = "EmulatorName"; IntPtr InfoPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(Game_Info))); Marshal.StructureToPtr(gi, InfoPtr, false); InvokeMethod(oApp, "Event_GameShowInfo", InfoPtr); Marshal.FreeCoTaskMem(InfoPtr);