public static void Out() { IntPtr handleValue = MyCriticalHandle.GetUniqueHandle(); MyCriticalHandle[] myCriticalHandleArray; Assert.Throws <MarshalDirectiveException>(() => Native.Out(handleValue, out myCriticalHandleArray)); }
public static void Out() { IntPtr handleValue = MyCriticalHandle.GetUniqueHandle(); Native.MyCriticalHandleStruct handleStruct; Assert.Throws <NotSupportedException>(() => Native.Out(handleValue, out handleStruct)); }
public static void In() { IntPtr handleValue = MyCriticalHandle.GetUniqueHandle(); InWorker(handleValue); GC.Collect(); GC.WaitForPendingFinalizers(); Assert.IsTrue(MyCriticalHandle.IsHandleClosed(handleValue), "Handle was not closed"); }
public static void Ref() { IntPtr handleValue = MyCriticalHandle.GetUniqueHandle(); RefWorker(handleValue); GC.Collect(); GC.WaitForPendingFinalizers(); Assert.True(MyCriticalHandle.IsHandleClosed(handleValue)); }
public static void In() { IntPtr handleValue = MyCriticalHandle.GetUniqueHandle(); MyCriticalHandle[] myCriticalHandleArray = new MyCriticalHandle[] { new MyCriticalHandle() { Handle = handleValue } }; Assert.Throws <MarshalDirectiveException>(() => Native.In(myCriticalHandleArray)); }
public static void RefModify() { IntPtr handleValue1 = MyCriticalHandle.GetUniqueHandle(); IntPtr handleValue2 = MyCriticalHandle.GetUniqueHandle(); MyCriticalHandle[] myCriticalHandleArray = new MyCriticalHandle[] { new MyCriticalHandle() { Handle = handleValue1 } }; Assert.Throws <MarshalDirectiveException>(() => Native.RefModify(handleValue2, ref myCriticalHandleArray)); }
public static void RefModify() { IntPtr handleValue1 = MyCriticalHandle.GetUniqueHandle(); IntPtr handleValue2 = MyCriticalHandle.GetUniqueHandle(); RefModifyWorker(handleValue1, handleValue2); GC.Collect(); GC.WaitForPendingFinalizers(); Assert.IsTrue(MyCriticalHandle.IsHandleClosed(handleValue1), "Handle 1 was not closed"); Assert.IsTrue(MyCriticalHandle.IsHandleClosed(handleValue2), "Handle 2 was not closed"); }
public static void RefModify() { IntPtr handleValue1 = MyCriticalHandle.GetUniqueHandle(); IntPtr handleValue2 = MyCriticalHandle.GetUniqueHandle(); Native.MyCriticalHandleStruct handleStruct = new Native.MyCriticalHandleStruct() { Handle = new MyCriticalHandle() { Handle = handleValue1 } }; Assert.Throws <NotSupportedException>(() => Native.RefModify(handleValue2, ref handleStruct, null)); }
public static void Ret() { IntPtr handleValue = MyCriticalHandle.GetUniqueHandle(); Assert.Throws <MarshalDirectiveException>(() => Native.Ret(handleValue)); }
public static void Ret() { IntPtr handleValue = MyCriticalHandle.GetUniqueHandle(); Assert.Throws <NotSupportedException>(() => Native.Ret(handleValue)); }