예제 #1
0
 public void EnsureZeroCapacityDoesNotFreeBuffer()
 {
     using (var buffer = new NativeBuffer(10))
     {
         Assert.NotEqual(buffer.GetHandle().DangerousGetHandle(), IntPtr.Zero);
         buffer.EnsureByteCapacity(0);
         Assert.NotEqual(buffer.GetHandle().DangerousGetHandle(), IntPtr.Zero);
     }
 }
예제 #2
0
        public void NullSafePointerInTest()
        {
            using (var buffer = new NativeBuffer(0))
            {
                Assert.True(buffer.GetHandle().IsInvalid);
                Assert.Equal((ulong)0, buffer.ByteCapacity);

                // This will throw if we don't put a stub SafeHandle in for the empty buffer
                GetCurrentDirectorySafe((uint)buffer.ByteCapacity, buffer.GetHandle());
            }
        }