internal ComIDataObjectUnmanaged(IntPtr data_object_ptr) { if (!Initialized) { Initialize(); } vtbl = new IDataObjectUnmanaged(); @this = data_object_ptr; try { vtbl = (IDataObjectUnmanaged)Marshal.PtrToStructure(Marshal.ReadIntPtr(data_object_ptr), typeof(IDataObjectUnmanaged)); } catch (Exception e) { Console.WriteLine("Exception {0}", e.Message); } }