Example #1
0
        internal unsafe PMXObject()
        {
            var ptr = Marshal.AllocHGlobal(sizeof(PMXObject_));

            // Initialized memory for safety.
            *((PMXObject_ *)ptr) = default;

            UnmanagedMemoryChecker.RegisterNewAllocatedBytes(sizeof(PMXObject_));
            _ptr = ptr;
        }
Example #2
0
 internal RawString(ReadOnlySpan <byte> source, StringEncoding encoding)
 {
     if (source.Length == 0)
     {
         _headPointer = default;
         _byteLength  = default;
         Encoding     = encoding;
         return;
     }
     _headPointer = Marshal.AllocHGlobal(source.Length);
     _byteLength  = source.Length;
     Encoding     = encoding;
     source.CopyTo(new Span <byte>((void *)_headPointer, source.Length));
     UnmanagedMemoryChecker.RegisterNewAllocatedBytes(_byteLength);
 }