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

◆ ConvertToNative()

static unsafe IntPtr System.StubHelpers.UTF8Marshaler.ConvertToNative ( int flags,
string strManaged,
IntPtr pNativeBuffer )
inlinestaticpackage

Definition at line 8 of file UTF8Marshaler.cs.

9 {
10 if (strManaged == null)
11 {
12 return IntPtr.Zero;
13 }
14 byte* ptr = (byte*)(void*)pNativeBuffer;
15 int cbNativeBuffer;
16 if (ptr != null)
17 {
18 cbNativeBuffer = (strManaged.Length + 1) * 3;
19 cbNativeBuffer = strManaged.GetBytesFromEncoding(ptr, cbNativeBuffer, Encoding.UTF8);
20 }
21 else
22 {
23 cbNativeBuffer = Encoding.UTF8.GetByteCount(strManaged);
24 ptr = (byte*)(void*)Marshal.AllocCoTaskMem(cbNativeBuffer + 1);
25 strManaged.GetBytesFromEncoding(ptr, cbNativeBuffer, Encoding.UTF8);
26 }
27 ptr[cbNativeBuffer] = 0;
28 return (IntPtr)ptr;
29 }
static IntPtr AllocCoTaskMem(int cb)
Definition Marshal.cs:1702
static Encoding UTF8
Definition Encoding.cs:526

References System.Runtime.InteropServices.Marshal.AllocCoTaskMem(), System.Text.Encoding.UTF8, and System.IntPtr.Zero.