コード例 #1
0
ファイル: MemoryTests.cs プロジェクト: unfug/nsec
        public static void MemoryManagerPinEmptyArray()
        {
            Sodium.Initialize();

            using MemoryManager <int> manager = new SecureMemoryManager <int>(0);

            MemoryHandle handle = manager.Pin();

            unsafe
            {
                Assert.True(handle.Pointer != null);
            }
        }
コード例 #2
0
ファイル: MemoryTests.cs プロジェクト: unfug/nsec
        public static void MemoryManagerPinArray()
        {
            Sodium.Initialize();

            int[] a = { 1, 2, 3, 4, 5 };
            using MemoryManager <int> manager = new SecureMemoryManager <int>(a.Length);

            a.CopyTo(manager.Memory);

            using MemoryHandle handle = manager.Pin();

            unsafe
            {
                var pointer = (int *)handle.Pointer;
                Assert.True(pointer != null);

                for (var i = 0; i < manager.Memory.Length; i++)
                {
                    Assert.Equal(a[i], pointer[i]);
                }
            }
        }