csharp/tyranid/WindowsRpcClients/Win10_1809/appmgmts.dll/8c7daf44-b6dc-11d1-9a4c-0020af6e7c57_1.0.cs

8c7daf44-b6dc-11d1-9a4c-0020af6e7c57_1.0.cs
//------------------------------------------------------------------------------
// 
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// 
//------------------------------------------------------------------------------

// Source Executable: c:\windows\system32\appmgmts.dll
// Interface ID: 8c7daf44-b6dc-11d1-9a4c-0020af6e7c57
// Interface Version: 1.0



namespace rpc_8c7daf44_b6dc_11d1_9a4c_0020af6e7c57_1_0
{
    
    #region Marshal Helpers
    internal clast _Marshal_Helper : NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer
    {
        public void Write_0(Struct_0 p0)
        {
            WriteStruct(p0);
        }
        public void Write_1(Union_1 p0, long p1)
        {
            WriteUnion(p0, p1);
        }
        public void Write_2(Struct_2 p0)
        {
            WriteStruct(p0);
        }
        public void Write_3(Struct_3 p0)
        {
            WriteStruct(p0);
        }
        public void Write_4(Struct_4 p0)
        {
            WriteStruct(p0);
        }
        public void Write_5(Struct_5 p0)
        {
            WriteStruct(p0);
        }
        public void Write_6(Struct_6 p0)
        {
            WriteStruct(p0);
        }
        public void Write_7(Struct_7 p0)
        {
            WriteStruct(p0);
        }
        public void Write_8(Struct_8 p0)
        {
            WriteStruct(p0);
        }
        public void Write_9(Struct_9 p0)
        {
            WriteStruct(p0);
        }
        public void Write_10(Struct_10 p0)
        {
            WriteStruct(p0);
        }
        public void Write_11(sbyte[] p0)
        {
            WriteFixedPrimitiveArray(p0, 8);
        }
        public void Write_12(Struct_5[] p0, long p1)
        {
            WriteConformantStructArray(p0, p1);
        }
        public void Write_13(Struct_8[] p0, long p1)
        {
            WriteConformantStructArray(p0, p1);
        }
        public void Write_14(Struct_10[] p0, long p1)
        {
            WriteConformantStructArray(p0, p1);
        }
    }
    internal clast _Unmarshal_Helper : NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer
    {
        public _Unmarshal_Helper(NtApiDotNet.Win32.Rpc.RpcClientResponse r) : 
                base(r.NdrBuffer, r.Handles, r.DataRepresentation)
        {
        }
        public _Unmarshal_Helper(byte[] ba) : 
                base(ba)
        {
        }
        public Struct_0 Read_0()
        {
            return ReadStruct();
        }
        public Union_1 Read_1()
        {
            return ReadStruct();
        }
        public Struct_2 Read_2()
        {
            return ReadStruct();
        }
        public Struct_3 Read_3()
        {
            return ReadStruct();
        }
        public Struct_4 Read_4()
        {
            return ReadStruct();
        }
        public Struct_5 Read_5()
        {
            return ReadStruct();
        }
        public Struct_6 Read_6()
        {
            return ReadStruct();
        }
        public Struct_7 Read_7()
        {
            return ReadStruct();
        }
        public Struct_8 Read_8()
        {
            return ReadStruct();
        }
        public Struct_9 Read_9()
        {
            return ReadStruct();
        }
        public Struct_10 Read_10()
        {
            return ReadStruct();
        }
        public sbyte[] Read_11()
        {
            return ReadFixedPrimitiveArray(8);
        }
        public Struct_5[] Read_12()
        {
            return ReadConformantStructArray();
        }
        public Struct_8[] Read_13()
        {
            return ReadConformantStructArray();
        }
        public Struct_10[] Read_14()
        {
            return ReadConformantStructArray();
        }
    }
    #endregion
    #region Complex Types
    public struct Struct_0 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteInt32(Member4);
            m.Write_1(Member8, Member0);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member4 = u.ReadInt32();
            Member8 = u.Read_1();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public int Member4;
        public Union_1 Member8;
        public static Struct_0 CreateDefault()
        {
            return new Struct_0();
        }
        public Struct_0(int Member0, int Member4, Union_1 Member8)
        {
            this.Member0 = Member0;
            this.Member4 = Member4;
            this.Member8 = Member8;
        }
    }
    public struct Union_1 : NtApiDotNet.Ndr.Marshal.INdrNonEncapsulatedUnion
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            throw new System.NotImplementedException();
        }
        void NtApiDotNet.Ndr.Marshal.INdrNonEncapsulatedUnion.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m, long l)
        {
            Selector = ((uint)(l));
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteUInt32(Selector);
            if ((Selector == 1))
            {
                m.Write_2(Arm_1);
                goto done;
            }
            if ((Selector == 2))
            {
                m.WriteEmbeddedPointer(Arm_2, new System.Action(m.WriteTerminatedString));
                goto done;
            }
            if ((Selector == 3))
            {
                m.WriteEmbeddedPointer(Arm_3, new System.Action(m.WriteTerminatedString));
                goto done;
            }
            if ((Selector == 4))
            {
                m.Write_4(Arm_4);
                goto done;
            }
            throw new System.ArgumentException("No matching union selector when marshaling Union_1");
        done:
            return;
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Selector = u.ReadUInt32();
            if ((Selector == 1))
            {
                Arm_1 = u.Read_2();
                goto done;
            }
            if ((Selector == 2))
            {
                Arm_2 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
                goto done;
            }
            if ((Selector == 3))
            {
                Arm_3 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
                goto done;
            }
            if ((Selector == 4))
            {
                Arm_4 = u.Read_4();
                goto done;
            }
            throw new System.ArgumentException("No matching union selector when marshaling Union_1");
        done:
            return;
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 1;
        }
        private uint Selector;
        public Struct_2 Arm_1;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Arm_2;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Arm_3;
        public Struct_4 Arm_4;
        public static Union_1 CreateDefault()
        {
            return new Union_1();
        }
        public Union_1(uint Selector, Struct_2 Arm_1, string Arm_2, string Arm_3, Struct_4 Arm_4)
        {
            this.Selector = Selector;
            this.Arm_1 = Arm_1;
            this.Arm_2 = Arm_2;
            this.Arm_3 = Arm_3;
            this.Arm_4 = Arm_4;
        }
    }
    public struct Struct_2 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteEmbeddedPointer(Member0, new System.Action(m.WriteTerminatedString));
            m.Write_3(Member8);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member8 = u.Read_3();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member0;
        public Struct_3 Member8;
        public static Struct_2 CreateDefault()
        {
            return new Struct_2();
        }
        public Struct_2(string Member0, Struct_3 Member8)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
        }
    }
    public struct Struct_3 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteInt16(Member4);
            m.WriteInt16(Member6);
            m.Write_11(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(Member8, "Member8"));
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member4 = u.ReadInt16();
            Member6 = u.ReadInt16();
            Member8 = u.Read_11();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public short Member4;
        public short Member6;
        public sbyte[] Member8;
        public static Struct_3 CreateDefault()
        {
            Struct_3 ret = new Struct_3();
            ret.Member8 = new sbyte[8];
            return ret;
        }
        public Struct_3(int Member0, short Member4, short Member6, sbyte[] Member8)
        {
            this.Member0 = Member0;
            this.Member4 = Member4;
            this.Member6 = Member6;
            this.Member8 = Member8;
        }
    }
    public struct Struct_4 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.Write_3(Member0);
            m.WriteInt32(Member10);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.Read_3();
            Member10 = u.ReadInt32();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public Struct_3 Member0;
        public int Member10;
        public static Struct_4 CreateDefault()
        {
            return new Struct_4();
        }
        public Struct_4(Struct_3 Member0, int Member10)
        {
            this.Member0 = Member0;
            this.Member10 = Member10;
        }
    }
    public struct Struct_5 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteEmbeddedPointer(Member0, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member8, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member10, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member18, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member20, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member28, new System.Action(m.WriteTerminatedString));
            m.WriteInt32(Member30);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member8 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member10 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member18 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member20 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member28 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member30 = u.ReadInt32();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member0;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member8;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member10;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member18;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member20;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member28;
        public int Member30;
        public static Struct_5 CreateDefault()
        {
            return new Struct_5();
        }
        public Struct_5(string Member0, string Member8, string Member10, string Member18, string Member20, string Member28, int Member30)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
            this.Member10 = Member10;
            this.Member18 = Member18;
            this.Member20 = Member20;
            this.Member28 = Member28;
            this.Member30 = Member30;
        }
    }
    public struct Struct_6 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteEmbeddedPointer(Member8, new System.Action(m.Write_12), Member0);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member8 = u.ReadEmbeddedPointer(new System.Func(u.Read_12), false);
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member8;
        public static Struct_6 CreateDefault()
        {
            return new Struct_6();
        }
        public Struct_6(int Member0, Struct_5[] Member8)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
        }
    }
    public struct Struct_7 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteEmbeddedPointer(Member8, new System.Action(m.Write_13), Member0);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member8 = u.ReadEmbeddedPointer(new System.Func(u.Read_13), false);
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member8;
        public static Struct_7 CreateDefault()
        {
            return new Struct_7();
        }
        public Struct_7(int Member0, Struct_8[] Member8)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
        }
    }
    public struct Struct_8 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteEmbeddedPointer(Member0, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member8, new System.Action(m.WriteTerminatedString));
            m.WriteInt32(Member10);
            m.WriteInt32(Member14);
            m.WriteInt32(Member18);
            m.Write_3(Member1C);
            m.WriteEmbeddedPointer(Member30, new System.Action(m.WriteTerminatedString));
            m.Write_3(Member38);
            m.WriteInt16(Member48);
            m.WriteEmbeddedPointer(Member50, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member58, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member60, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member68, new System.Action(m.WriteTerminatedString));
            m.WriteEmbeddedPointer(Member70, new System.Action(m.WriteTerminatedString));
            m.WriteInt32(Member78);
            m.WriteInt32(Member7C);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member8 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member10 = u.ReadInt32();
            Member14 = u.ReadInt32();
            Member18 = u.ReadInt32();
            Member1C = u.Read_3();
            Member30 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member38 = u.Read_3();
            Member48 = u.ReadInt16();
            Member50 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member58 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member60 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member68 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member70 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member78 = u.ReadInt32();
            Member7C = u.ReadInt32();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member0;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member8;
        public int Member10;
        public int Member14;
        public int Member18;
        public Struct_3 Member1C;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member30;
        public Struct_3 Member38;
        public short Member48;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member50;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member58;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member60;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member68;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member70;
        public int Member78;
        public int Member7C;
        public static Struct_8 CreateDefault()
        {
            return new Struct_8();
        }
        public Struct_8(
                    string Member0, 
                    string Member8, 
                    int Member10, 
                    int Member14, 
                    int Member18, 
                    Struct_3 Member1C, 
                    string Member30, 
                    Struct_3 Member38, 
                    short Member48, 
                    string Member50, 
                    string Member58, 
                    string Member60, 
                    string Member68, 
                    string Member70, 
                    int Member78, 
                    int Member7C)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
            this.Member10 = Member10;
            this.Member14 = Member14;
            this.Member18 = Member18;
            this.Member1C = Member1C;
            this.Member30 = Member30;
            this.Member38 = Member38;
            this.Member48 = Member48;
            this.Member50 = Member50;
            this.Member58 = Member58;
            this.Member60 = Member60;
            this.Member68 = Member68;
            this.Member70 = Member70;
            this.Member78 = Member78;
            this.Member7C = Member7C;
        }
    }
    public struct Struct_9 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteEmbeddedPointer(Member8, new System.Action(m.Write_14), Member0);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member8 = u.ReadEmbeddedPointer(new System.Func(u.Read_14), false);
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member8;
        public static Struct_9 CreateDefault()
        {
            return new Struct_9();
        }
        public Struct_9(int Member0, Struct_10[] Member8)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
        }
    }
    public struct Struct_10 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteEmbeddedPointer(Member8, new System.Action(m.WriteTerminatedString));
            m.Write_3(Member10);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member8 = u.ReadEmbeddedPointer(new System.Func(u.ReadConformantVaryingString), false);
            Member10 = u.Read_3();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member8;
        public Struct_3 Member10;
        public static Struct_10 CreateDefault()
        {
            return new Struct_10();
        }
        public Struct_10(int Member0, string Member8, Struct_3 Member10)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
            this.Member10 = Member10;
        }
    }
    #endregion
    #region Client Implementation
    public sealed clast Client : NtApiDotNet.Win32.Rpc.RpcClientBase
    {
        public Client() : 
                base("8c7daf44-b6dc-11d1-9a4c-0020af6e7c57", 1, 0)
        {
        }
        private _Unmarshal_Helper SendReceive(int p, _Marshal_Helper m)
        {
            return new _Unmarshal_Helper(SendReceive(p, m.DataRepresentation, m.ToArray(), m.Handles));
        }
        public void PINSTALLCONTEXT_rundown(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            _Unmarshal_Helper u = SendReceive(0, m);
        }
        public uint InstallBegin(Struct_0 p0, out NtApiDotNet.Ndr.Marshal.NdrContextHandle p1, out Struct_5 p2, out Struct_6 p3)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.Write_0(p0);
            _Unmarshal_Helper u = SendReceive(1, m);
            p1 = u.ReadContextHandle();
            p2 = u.Read_5();
            p3 = u.Read_6();
            return u.ReadUInt32();
        }
        public uint InstallManageApp(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0, string p1, int p2, out sbyte p3)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            m.WriteTerminatedString(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p1, "p1"));
            m.WriteInt32(p2);
            _Unmarshal_Helper u = SendReceive(2, m);
            p3 = u.ReadSByte();
            return u.ReadUInt32();
        }
        public uint InstallUnmanageApp(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0, string p1, sbyte p2)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            m.WriteTerminatedString(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p1, "p1"));
            m.WriteSByte(p2);
            _Unmarshal_Helper u = SendReceive(3, m);
            return u.ReadUInt32();
        }
        public uint InstallEnd(sbyte p0, ref NtApiDotNet.Ndr.Marshal.NdrContextHandle p1)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteSByte(p0);
            m.WriteContextHandle(p1);
            _Unmarshal_Helper u = SendReceive(4, m);
            p1 = u.ReadContextHandle();
            return u.ReadUInt32();
        }
        public uint ARPRemoveApp(string p0, int p1)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteTerminatedString(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p0, "p0"));
            m.WriteInt32(p1);
            _Unmarshal_Helper u = SendReceive(5, m);
            return u.ReadUInt32();
        }
        public uint GetManagedApps(System.Nullable p0, int p1, int p2, out Struct_7 p3)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_3));
            m.WriteInt32(p1);
            m.WriteInt32(p2);
            _Unmarshal_Helper u = SendReceive(6, m);
            p3 = u.Read_7();
            return u.ReadUInt32();
        }
        public uint RsopReportInstallFailure(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0, string p1, int p2)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            m.WriteTerminatedString(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p1, "p1"));
            m.WriteInt32(p2);
            _Unmarshal_Helper u = SendReceive(7, m);
            return u.ReadUInt32();
        }
        public uint GetManagedAppCategories(ref Struct_9 p0)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.Write_9(p0);
            _Unmarshal_Helper u = SendReceive(8, m);
            p0 = u.Read_9();
            return u.ReadUInt32();
        }
    }
    #endregion
}