Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ MarshalNativeToManaged()

object System.Runtime.InteropServices.CustomMarshalers.EnumeratorToEnumVariantMarshaler.MarshalNativeToManaged ( IntPtr pNativeData)
inline

Implements System.Runtime.InteropServices.ICustomMarshaler.

Definition at line 49 of file EnumeratorToEnumVariantMarshaler.cs.

50 {
51 if (pNativeData == IntPtr.Zero)
52 {
53 throw new ArgumentNullException("pNativeData");
54 }
55 object objectForIUnknown = Marshal.GetObjectForIUnknown(pNativeData);
56 if (!objectForIUnknown.GetType().IsCOMObject)
57 {
58 if (objectForIUnknown is EnumVariantViewOfEnumerator enumVariantViewOfEnumerator)
59 {
60 return enumVariantViewOfEnumerator.Enumerator;
61 }
62 return objectForIUnknown as System.Collections.IEnumerator;
63 }
64 return ComDataHelpers.GetOrCreateManagedViewFromComData(objectForIUnknown, (IEnumVARIANT var) => new EnumeratorViewOfEnumVariant(var));
65 }

References System.Runtime.InteropServices.Marshal.GetObjectForIUnknown(), and System.IntPtr.Zero.