Beispiel #1
0
        internal static unsafe void CreateNtString(ReadOnlySpan <char> vStr, NtString *nStr)
        {
            fixed(char *str = vStr)
            {
                var encoding = Encoding.UTF8;
                int bytes    = encoding.GetByteCount(str, vStr.Length);

                nStr->str = (byte *)Marshal.AllocHGlobal((bytes) * sizeof(byte));
                nStr->len = (UIntPtr)bytes;
                encoding.GetBytes(str, vStr.Length, nStr->str, bytes);
            }
        }
Beispiel #2
0
 public void NT_InitString(NtString *str)
 {
     Native_NT_InitString(str);
 }
Beispiel #3
0
 private static extern void Native_NT_InitString(NtString *str);
Beispiel #4
0
 public void NT_DisposeString(NtString *str)
 {
     Native_NT_DisposeString(str);
 }
Beispiel #5
0
 private static extern void Native_NT_DisposeString(NtString *str);
Beispiel #6
0
 public void NT_FreeStringArray(NtString *v_string, UIntPtr arr_size)
 {
     Native_NT_FreeStringArray(v_string, arr_size);
 }
Beispiel #7
0
 private static extern void Native_NT_FreeStringArray(NtString *v_string, UIntPtr arr_size);
Beispiel #8
0
 internal static unsafe void DisposeNtString(NtString *str)
 {
     Marshal.FreeHGlobal((IntPtr)str->str);
 }