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

◆ WriteValueSlow< T >()

static unsafe void System.Runtime.InteropServices.Marshal.WriteValueSlow< T > ( object ptr,
int ofs,
T val,
Action< IntPtr, int, T > writeValueHelper )
inlinestaticprivate

Definition at line 121 of file Marshal.cs.

122 {
123 if (ptr == null)
124 {
125 throw new AccessViolationException();
126 }
128 AsAnyMarshaler asAnyMarshaler = new AsAnyMarshaler(new IntPtr(&marshalerState));
129 IntPtr intPtr = IntPtr.Zero;
130 try
131 {
132 intPtr = asAnyMarshaler.ConvertToNative(ptr, 822018303);
133 writeValueHelper(intPtr, ofs, val);
134 asAnyMarshaler.ConvertToManaged(ptr, intPtr);
135 }
136 finally
137 {
138 asAnyMarshaler.ClearNative(intPtr);
139 }
140 }
IntPtr ConvertToNative(object pManagedHome, int dwFlags)
void ClearNative(IntPtr pNativeHome)
unsafe void ConvertToManaged(object pManagedHome, IntPtr pNativeHome)

References System.StubHelpers.AsAnyMarshaler.ClearNative(), System.StubHelpers.AsAnyMarshaler.ConvertToManaged(), System.StubHelpers.AsAnyMarshaler.ConvertToNative(), and System.IntPtr.Zero.