Example #1
0
        public static bool NestedLayoutClass()
        {
            string       s      = "before";
            bool         retval = true;
            SeqClass     p      = new SeqClass(0, false, s);
            NestedLayout target = new NestedLayout
            {
                value = p
            };

            TestFramework.BeginScenario("Test #4 Nested sequential layout class in a structure.");

            try
            {
                retval = SimpleNestedLayoutClassByValue(target);

                if (retval == false)
                {
                    TestFramework.LogError("01", "PInvokeTests->NestedLayoutClass : Unexpected error occured on unmanaged side");
                    return(false);
                }
            }
            catch (Exception e)
            {
                TestFramework.LogError("04", "Unexpected exception: " + e.ToString());
                retval = false;
            }

            return(retval);
        }
Example #2
0
        public static bool SequentialClass()
        {
            string   s      = "before";
            bool     retval = true;
            SeqClass p      = new SeqClass(0, false, s);

            TestFramework.BeginScenario("Test #1 Pass a sequential layout class.");

            try
            {
                retval = SimpleSeqLayoutClassByRef(p);

                if (retval == false)
                {
                    TestFramework.LogError("01", "PInvokeTests->SequentialClass : Unexpected error occured on unmanaged side");
                    return(false);
                }
            }
            catch (Exception e)
            {
                TestFramework.LogError("04", "Unexpected exception: " + e.ToString());
                retval = false;
            }

            return(retval);
        }
Example #3
0
        public static void SequentialClass()
        {
            Console.WriteLine($"Running {nameof(SequentialClass)}...");

            string s = "before";
            var    p = new SeqClass(0, false, s);

            Assert.IsTrue(SimpleSeqLayoutClassByRef(p));
        }
Example #4
0
        public static void NestedLayoutClass()
        {
            Console.WriteLine($"Running {nameof(NestedLayoutClass)}...");

            string s      = "before";
            var    p      = new SeqClass(0, false, s);
            var    target = new NestedLayout
            {
                value = p
            };

            Assert.IsTrue(SimpleNestedLayoutClassByValue(target));
        }
Example #5
0
 private static extern bool SimpleSeqLayoutClassByRef(SeqClass p);
Example #6
0
 private static extern bool SimpleSeqLayoutClassByRefNull([In, Out] SeqClass p);