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

◆ ConvertStringToNative()

static unsafe IntPtr System.StubHelpers.AsAnyMarshaler.ConvertStringToNative ( string pManagedHome,
int dwFlags )
inlinestaticprivate

Definition at line 142 of file AsAnyMarshaler.cs.

143 {
144 IntPtr intPtr;
145 if (IsAnsi(dwFlags))
146 {
147 intPtr = CSTRMarshaler.ConvertToNative(dwFlags & 0xFFFF, pManagedHome, IntPtr.Zero);
148 }
149 else
150 {
151 int cb = (pManagedHome.Length + 1) * 2;
152 intPtr = Marshal.AllocCoTaskMem(cb);
153 Buffer.Memmove(ref *(char*)(void*)intPtr, ref pManagedHome.GetRawStringData(), (nuint)pManagedHome.Length + (nuint)1u);
154 }
155 return intPtr;
156 }
static IntPtr AllocCoTaskMem(int cb)
Definition Marshal.cs:1702
static bool IsAnsi(int dwFlags)

References System.Runtime.InteropServices.Marshal.AllocCoTaskMem(), System.StubHelpers.CSTRMarshaler.ConvertToNative(), System.StubHelpers.AsAnyMarshaler.IsAnsi(), System.Buffer.Memmove(), and System.IntPtr.Zero.

Referenced by System.StubHelpers.AsAnyMarshaler.ConvertToNative().