X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem.Runtime.InteropServices%2FMarshal.cs;h=24f15e3f980437e7877e372bf84a63afb6220ffb;hb=1ca65b172d22410fd5f4bf2892a131e787186e2e;hp=1b650da569d25bda48ab02c01ab63dadb89c4d9e;hpb=0b4bc83e79ca3057693089dc7f926004bb9d9592;p=mono.git diff --git a/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs b/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs index 1b650da569d..24f15e3f980 100644 --- a/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs +++ b/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs @@ -412,7 +412,7 @@ namespace System.Runtime.InteropServices var errorInfo = new ManagedErrorInfo(e); SetErrorInfo (0, errorInfo); - return e.hresult; + return e._HResult; #else return -1; #endif @@ -578,7 +578,7 @@ namespace System.Runtime.InteropServices throw new NotImplementedException (); } -#if !MOBILE +#if !FULL_AOT_RUNTIME [Obsolete] [MonoTODO] public static string GetTypeInfoName (UCOMITypeInfo pTI) @@ -979,6 +979,21 @@ namespace System.Runtime.InteropServices return SizeOf (structure.GetType ()); } + internal static uint SizeOfType (Type type) + { + return (uint) SizeOf (type); + } + + internal static uint AlignedSizeOf () where T : struct + { + uint size = SizeOfType (typeof (T)); + if (size == 1 || size == 2) + return size; + if (IntPtr.Size == 8 && size == 4) + return size; + return (size + 3) & (~((uint)3)); + } + [MethodImplAttribute(MethodImplOptions.InternalCall)] public extern static IntPtr StringToBSTR (string s); @@ -1576,7 +1591,7 @@ namespace System.Runtime.InteropServices } } - if (info is ManagedErrorInfo && ((ManagedErrorInfo) info).Exception.hresult == errorCode) { + if (info is ManagedErrorInfo && ((ManagedErrorInfo) info).Exception._HResult == errorCode) { return ((ManagedErrorInfo) info).Exception; }